html - AngularMaterial mat-slide-toggle 工具仅适用于第一个组件
问题描述
我有一个角度项目,我正在使用角度材料开发滑动切换和文本字段,并使用 cdk 拖放来实现拖放功能。我对角度库和一般角度都很陌生。
我遇到了一个问题,即滑动切换仅切换 *ngFor 循环内的第一个元素。我尝试向 ngFor 添加一个 let i = 索引,无论您选择哪个切换,它总是作为 0 传递,但是如果我放置 {{ i }},它将显示为正确的索引。我很茫然。
https://stackblitz.com/edit/angular-yezv9a
如果你去那个链接的项目,并切换测试 2 或 3 切换,它会移动第一个 1,我似乎无法弄清楚为什么
任何帮助表示赞赏
解决方案
如果我理解正确,您的代码中有一个问题是mat-slide-toggle
元素有一个重复的 idngFor
<mat-slide-toggle id="toggle" color="primary" (change)="onToggle(button)" [checked]="button.enabled"></mat-slide-toggle>
我删除了 id 属性并发现工作正常,根据我的理解,您可以在下面的 url 中找到一个工作示例的分支
推荐阅读
- python - 使用 Python 将文本中的行与未知行交换
- symfony - 在 Symfony 4 和 Messenger 中向不同的传输或虚拟主机发送消息
- python - HTML 表单提交在值中的空格后截断符号
- jquery - 对 jQuery setTimeout 的反击
- c++ - 无效的属性分配:“displayText”是 TextField qml 中的只读属性
- reactjs - React Simple Side Menu 不适用于最新的 react-router-dom
- c# - 我无法在我的 wpf c# 应用程序中使用 firesharp 库检索 firebase 数据
- python - 使用 python API 时 pingAll 失败
- python-3.x - 创建循环加载 whit tkinter
- android - 状态栏和工具栏在滚动时从透明变为不透明,就像在 Letterboxd 中一样