Angular Material mat-slide-toggle 切换仅适用于第一个组件
AngularMaterial mat-slide-toggle toogle working only for the first component
我有一个正在开发的 angular 项目,使用 angular 材质作为滑动开关和文本字段,使用 cdk 拖放功能实现拖放功能。我对 angular 库和一般的 angular 很陌生。
我 运行 遇到了滑动切换仅切换 *ngFor 循环内的第一个元素的问题。我已经尝试将 let i = index 添加到 ngFor 中,无论您选择哪个 select,它始终作为 0 传递,但是如果我放置 {{ i }},它将显示为正确的索引。我很茫然。
https://stackblitz.com/edit/angular-yezv9a
如果你在 link 进入项目并切换测试 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
将 id 属性设置为空
将按预期工作
我有一个正在开发的 angular 项目,使用 angular 材质作为滑动开关和文本字段,使用 cdk 拖放功能实现拖放功能。我对 angular 库和一般的 angular 很陌生。
我 运行 遇到了滑动切换仅切换 *ngFor 循环内的第一个元素的问题。我已经尝试将 let i = index 添加到 ngFor 中,无论您选择哪个 select,它始终作为 0 传递,但是如果我放置 {{ i }},它将显示为正确的索引。我很茫然。
https://stackblitz.com/edit/angular-yezv9a
如果你在 link 进入项目并切换测试 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
将 id 属性设置为空
将按预期工作