AngularMaterial垫子滑动开关仅适用于第一个组件



我正在开发一个有角度的项目,使用有角度的材料进行幻灯片切换和文本字段,并使用cdk拖放功能进行拖放。我对angular库和一般angular库都很陌生。

我遇到了一个问题,幻灯片切换只切换*ngFor循环中的第一个元素。我曾尝试向ngFor添加一个let I=索引,无论您选择哪种切换,它总是作为0传递,但如果我放置{{I}},它将显示为正确的索引。我不知所措。

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

如果你转到该链接的项目,并切换测试2或3切换,它将切换第一个1,我似乎不明白为什么

感谢提供的任何帮助

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

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

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

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

将id属性设为空

将按预期工作

最新更新