#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); }