首页 > 解决方案 > AngularMaterial mat-slide-toggle 工具仅适用于第一个组件

问题描述

我有一个角度项目,我正在使用角度材料开发滑动切换和文本字段,并使用 cdk 拖放来实现拖放功能。我对角度库和一般角度都很陌生。

我遇到了一个问题,即滑动切换仅切换 *ngFor 循环内的第一个元素。我尝试向 ngFor 添加一个 let i = 索引,无论您选择哪个切换,它总是作为 0 传递,但是如果我放置 {{ i }},它将显示为正确的索引。我很茫然。

https://stackblitz.com/edit/angular-yezv9a

如果你去那个链接的项目,并切换测试 2 或 3 切换,它会移动第一个 1,我似乎无法弄清楚为什么

任何帮助表示赞赏

标签: htmlangularangular-materialdrag-and-dropangular-cdk

解决方案


如果我理解正确,您的代码中有一个问题是mat-slide-toggle元素有一个重复的 idngFor

<mat-slide-toggle id="toggle" color="primary" (change)="onToggle(button)" [checked]="button.enabled"></mat-slide-toggle>

我删除了 id 属性并发现工作正常,根据我的理解,您可以在下面的 url 中找到一个工作示例的分支

https://angular-yezv9a-bac1jz.stackblitz.io/


推荐阅读