如何覆盖repeat元素的remove方法,并在ngx中执行删除和添加一些逻辑的操作

问题描述

我正在使用一个重复字段,其中有一个正常工作的删除按钮,但我的要求是在删除调用自定义函数 onRemove 而不是 remove(i) 的元素时执行一些逻辑,可以任何人都可以帮助我实现这一目标,以下是 stackblitz 演示:click here stackblitz demo,下面找到了我尝试过但没有解决的解释。

截图说明:

第一步。点击删除按钮,函数remove(i)被调用

enter image description here

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...