问题描述
我正在使用一个重复字段,其中有一个正常工作的删除按钮,但我的要求是在删除我调用自定义函数 onRemove 而不是 remove(i) 的元素时执行一些逻辑,可以任何人都可以帮助我实现这一目标,以下是 stackblitz 演示:click here stackblitz demo,下面找到了我尝试过但没有解决的解释。
截图说明:
第 2 步。 我需要调用一个在删除之前执行一些逻辑的函数,而不是删除它,我尝试这样做我能够调用该函数但无法删除元素。
我尝试用于删除 formlytype 组件中元素的代码片段:
在repeat-section.type.ts中:
<button class="btn btn-danger" type="button" (click)="OnRemove(i)">Remove</button>
export class RepeatTypeComponent extends FieldArrayType {
constructor(builder: FormlyFormBuilder) {
super(builder);
}
onRemove() {
console.log('---->remove');
}
}
解决方法
使用以下内容:
onRemove(i: number) {
// your logic
// calls the extended FieldArrayType remove() method to delete the row from the model and
// the formly FormlyFieldConfig's for that row from your repeat type fieldGroup
super.remove(i);
}