angular中formArray中formGroup动态添加controlName注意点

本文探讨了在动态表格中,如何修复添加新列时表头同步问题。作者发现问题出在formgroup的数据变化导致的赋值不及时,并通过调整formArray的formGroup结构来解决了这一问题,详细展示了从定位问题到修复过程。
摘要由CSDN通过智能技术生成

当前场景:
一个动态表格形式。
在这里插入图片描述
上图更能清晰说明情况。
本文介绍的问题背景:动态表头,当我添加一个列的时候,需要在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('');放在循环外,结果出现上述问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值