场景 - 我想在特定字段失去焦点时获取当前字段值、先前字段值和 fieldId 并调用 API 在后端执行一些验证
html
<form [formGroup]="form">
<formly-form [form]="form" [model]="model" [fields]="fields">
</formly-form>
</form>
ts
fields: FormlyFieldConfig[] = [
{
key: 'Datepicker',
type: 'datepicker',
templateOptions: {
label: 'Datepicker',
placeholder: 'Placeholder',
description: 'Description',
datepickerOptions: {
dateChange: (field, $event) => {
console.log(field)
console.log($event)
},
},
},
},
];
从上面的例子中,假设我有 20 个表单字段,我必须为每个字段实现。有没有一种方法可以从表单字段中处理焦点,而无需实现 FormlyFieldConfig 提供的 change()?
我已经试过了
- form.valuechanges.subscribe() 但这对我没有帮助,因为我希望仅在字段丢失焦点时启用此功能
<form [formGroup]="form" (change)="onChange($event)">
<formly-form [form]="form" [model]="model" [fields]="fields">
</formly-form>
</form>
在这里,我观察到 change 事件仅针对表单中类型为“input”的字段触发,而不针对其他原生 formly 组件(如“select”或“datepicker”)或已创建的自定义组件
我想知道是否有办法为所有字段获取当前字段值、先前字段值和 fieldId