Как указать форматер поля ngx-formly, когда конфиг поля приходит из сервиса - PullRequest
0 голосов
/ 23 апреля 2020

В приложении, над которым я работаю. Мы получаем конфигурацию полей как часть ответа службы json.

Для некоторых полей ввода нам необходим специальный форматер c. Пример: для нескольких полей ввода нам нужно повернуть введенное значение в верхний регистр. Все, что может отправить сервер - это флаг для полей, значение которых должно быть отформатировано

Пример: templateOptions: {tranformToUpperCase: true}

Есть ли лучший способ сделать такое преобразование / форматирование для входного текста .

1 Ответ

0 голосов
/ 23 апреля 2020

Я думаю, что ваша конфигурация полей похожа на

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...