ngx в форме: как добавить событие onchange в каждое поле внутри типа массива в схеме json

#angular #jsonschema #angular-formly #ngx-formly

#угловой #jsonschema #угловатая форма #ngx-формально

Вопрос:

У меня есть требование, как один элемент зависит от другого элемента внутри конфигурации поля типа массива. Я динамически добавляю событие изменения в одно поле, но оно не добавляется. Код, как показано ниже, когда я добавляю один за другим файлы внутри массива, мне нужно сверить ранее введенное значение элемента с текущим и принять решение.

Схема JSON:

 {    "type": "object",  "title": "Rules",    "properties": {   "LR": {  "type": "array",  "maxItems": 9,  "title": "LR",  "items": {  "type": "object",  "properties": {   "PMR": {  "type": "string",  "title": "PMR",  "pattern": "^(\d{1,3})(\.\d{0,2})?$",  "widget": {  "formlyConfig": {  "templateOptions": {  "maxLength":"3",  "pmrChange":"this.pmrChange($event, field)"  }  }  }  }  }  }   }  } }  
 **Adding event:**   extendFieldConfigs(): FormlyFieldConfig[] {    this.fieldConfig.fieldGroup.map((field) =gt; {    const key = field.key ? field.key.toUpperCase() : null;  if (!key) return;  debugger;  switch (key) {  case "LR":     field.fieldArray amp;amp;  field.fieldArray.fieldGroup.map((fgrpItem) =gt; {  const childKey = fgrpItem.key ? fgrpItem.key.toUpperCase() : null;  switch (childKey) {  case "PMR": {  fgrpItem.templateOptions.change = Function(  "field",  "$event",  fgrpItem.templateOptions.pmrChange  ).bind(this);    break;  }  }  });   break;  }  });   return [this.fieldConfig];  }   pmrChange(a, b) {  alert(a);  }