Angular表单数组表格行删除异常:无法删除选中指定行
解决FormArray行删除问题
嗨,我来帮你搞定这个删除行的问题~
你现在的核心问题是:删除函数里硬写了固定索引1,完全没用到点击行的真实位置信息。只需要简单两步就能实现点击哪行删哪行的功能:
第一步:给删除按钮传递当前行的索引
修改你的component.html里的删除按钮,把*ngFor循环里的i(当前行索引)传给删除函数:
<!-- 修改后的删除按钮代码 --> <button (click)="deleteQuestions(i)" type="button" class="btn btn-success bc"> <i class="fa fa-trash"></i> </button>
第二步:更新TypeScript的删除函数
把原来固定删索引1的逻辑,改成根据传入的索引删除对应行,还可以加个简单的边界判断避免报错:
// 修改后的删除函数 deleteQuestions(index: number) { // 先判断索引是否在有效范围内,防止越界错误 if (index >= 0 && index < this.questionerDetails.length) { this.questionerDetails.removeAt(index); } }
这样修改后,你点击任意一行的删除按钮,都会把该行的索引传给函数,精准删除对应的FormArray控件,表格也会自动更新显示啦~
内容的提问来源于stack exchange,提问作者T M
相关产品推荐
相关产品推荐

