繁体   English   中英

Angular 9 Reactive Forms:使用 trackBy 时复选框未更新

[英]Angular 9 Reactive Forms: checkbox not getting updated when using trackBy

我正在使用反应式表单构建产品表单

当我选择所有复选框并单击重置时,复选框没有更新**

当我删除 trackBy 时它工作正常,如何使用ngFor trackBy使其工作?

这是示例: stackblitz 产品表单

这是因为您在返回指数trackBy功能,第一个参数trackBy功能是该项目的指标,第二个是你想返回第二个参数的项目本身。

在您的示例中,它看起来像一些东西。

PS 我用通用名称重命名了 trackBy 函数。

 trackByFn(_, item){
  return item;
 }

我分叉了你的stackblitz,你也可以检查一下。

这是因为您的trackByFn函数不正确。

trackBy函数将索引当前项作为参数,并需要返回该项的唯一标识符

所以,试试这个:

trackByFn(index, item){
  return index;
}

您可以在Stackblitz上查看错误修复版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM