AngularJs: 从列表中删除项目后,后续的脏表单元素被设置为原始,如何处理?

AngularJs: After removing item from list, subsequent dirty form elements are set to pristine, how to handle this?

我有使用 ng-repeat 迭代的对象列表。

名单=[{ 类型 = "CC", 卡号:125, accNum :空, 数量=125, isCard : 真 }, { 类型 = "LN", 卡号:空, 帐户编号:125, 数量=125, isCard = false }, .... ]

现在,根据 isCard 的 Radio 的选择(两个 radio,is Card 和 is Non Card),我需要显示两个相应的字段,例如 cardNum 或 accNum。

现在的问题是,当迭代并添加 isCard 和 isNonCard 帐户的组合并删除它们之间的元素时,之后的所有元素都设置为原始元素,之前是脏的。

场景 1: 选择第一个作为 Card Acc - index 1 第二个作为非卡 - 索引 2 第 3 个作为卡片 acc -index 3

修改了字段,上面的所有 3 个条目都有错误

现在,使用拼接删除第二个条目。

问题:现在第 3 个元素索引更新为 1(这是正确的)但字段重置为原始状态并且错误被隐藏。我怎样才能阻止它,以便更新索引处的第三个元素仍然会出现错误。

我设法解决了这个问题。即使在使用 track by index 之后,它也不起作用,所以我不得不在对象中添加 trackIdentifier。现在,当我基于它进行跟踪时,它开始工作并且正确显示错误消息。