当字段配置来自服务时,如何指定ngx-formly字段格式化器?

问题描述 投票:0回答:1

在我正在做的应用程序中,我们正在获取字段配置作为服务json响应的一部分。我们正在获取字段配置作为服务json响应的一部分。

对于一些输入字段,我们需要有一个特定的formatter.示例。对于一些输入字段,我们需要将输入的值转为大写。后台可以发送的是一个标志,其值应该被格式化的字段。

例如:模板选项:{tranformToUpperCase : true}。

有没有更好的方法对输入文字进行这样的变换格式。

angular ngx-formly
1个回答
0
投票

我想象你的字段配置是这样的

fields=[{name:'name',label:'Name'},{name:'surname',label:'Surname'}]

只需添加另一个属性'style',例如

fields=[{name:'name',label:'Name',style:{'text-transform':'uppercase'}},
        {name:'surname',label:'Surname',style:{'text-transform':'uppercase'}}]

只要使用[ngStyle]

<form [formGroup]="form">
  <div *ngFor="let field of fields">
    {{field.label}}
    <input [ngStyle]="field.style" [formControlName]="field.name">
  </div>
</form>

注:我想你有一些类似于

form=this.getEmptyForm();

getEmpyForm()
{ 
   const form=new FormGroup({});
   this.fields.forEach(x=>{
      form.addControl(x.name)
   })
   return form;
}
© www.soinside.com 2019 - 2024. All rights reserved.