当前场景:
一个动态表格形式。
上图更能清晰说明情况。
本文介绍的问题背景:动态表头,当我添加一个列的时候,需要在formarray中的formgroup中添加一个controlName
问题出现:进入编辑状态,添加一个表头,第一条数据进行修改后,第二条数据默认同第一条数据一致。但是页面上没同步数据。
解决思路:编辑状态下,所以看新建状态有无同样问题。==结果没有。
确定是哪里数据进行了变化。=结果是formgroup数据变化就赋值,所以问题锁定formgroup相关上。
最后位置:
在添加一列的事件上:修改后:
addColumn(newItem: any) { this.form.controls.forEach((i: FormGroup) => { const formItem = this.fb.control(''); i.addControl(newItem.code, formItem); }); }
原本是把const formItem = this.fb.control('');
放在循环外,结果出现上述问题