gpt4 book ai didi

Angular 4 FormGroup removeControl() 不更新表单

转载 作者:太空狗 更新时间:2023-10-29 18:19:48 25 4
gpt4 key购买 nike

我正在尝试找出如何从响应式(Reactive)表单中删除元素。

这是一个小例子:http://plnkr.co/edit/HyhMDoMtek02CyKpZ7Wt?p=preview

当我点击 X 按钮时,表单对象被更新,但表单 UI 仍然有该项目。

如何让表单在删除时自动更新?

最佳答案

在模板中,您正在迭代小部件

 <div *ngFor='let item of widget.items'>
<input type='text' [formControlName]='item.id'>
<button type='button' (click)='deleteItem(item.id)'>X</button>
</div>

那么你需要做什么从表单中删除小部件

 deleteItem(id: number){
var elem = this.widget.items.find((i)=>i.id == id);
this.widget.items.splice(this.widget.items.indexOf(elem), 1)
(<FormGroup>this.form).removeControl(id.toString());
}

其他选项不是通过对象迭代而是通过控件对象迭代

<div *ngFor='let control of form.controls'>
<input type='text' [formControl]='control'>
<button type='button' (click)='deleteItem(item.id)'>X</button>
</div>

关于Angular 4 FormGroup removeControl() 不更新表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45972063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com