angular - 数据绑定在角度不起作用
问题描述
问题:删除第一行并添加第二行时,第一行的值被第二行的值替换。
我为我面临的问题创建了一个 plunker https://next.plnkr.co/edit/1FL8qmSgMsSQCGNT?open=lib%2Fapp.ts&preview
重现步骤:
- 单击“选择一个”下拉菜单并选择“屏幕 1”选项。
- 再次单击“选择一个”下拉菜单并选择“屏幕 2”选项。
- 现在删除第一行(屏幕 1)。
- 再次单击“选择一个”下拉菜单并选择“屏幕 3”选项。
第一行的值被第二行的值替换。
我不知道导致此问题的代码有什么问题。
解决方案
您的主要问题是您已将 ngModel 用于选择元素。
因此,当您从选择元素中选择项目时,selectedIds[rowIndex] 项目中的值会发生变化。
我在第一个 div 中应用了次要代码重构,如下所示,它将对您有所帮助。
<div *ngFor="let id of selectedIds; let rowIndex = index">
<select name="id_{{rowIndex}}" class="form-control" required >
<option *ngFor="let screen of screens"
[selected]="screen.screenId==id"
[ngValue]="screen.screenId">{{screen.screenName}}
</option>
</select>
<a class="pointer" (click)="removeScreen(rowIndex)">Delete</a>
</div>
推荐阅读
- javascript - 更改 JSON 结构响应
- javascript - JSDocs:函数返回函数 -> 如何正确声明返回的函数
- linux-device-driver - 带有顺序请求选项的 NVME 读/写命令
- c# - 集成测试结果不断返回状态码 301
- python - Python 套接字:HTTP/1.0 错误请求,请求的 URL 无效
- scikit-learn - 可以添加 tf-idf 值来查找文档相似度吗?
- nginx - “如何修复 nginx:[emerg] “fastcgi_cache” 区域 “wpcache” 在 /etc/nginx/nginx.conf 中未知”
- webforms - TeamCity -> ASP .NET Web 窗体站点的运行器类型
- asp.net-core - 删除 EF Core 中的相关数据
- python - 如何通过一次加载上下文来进行预测,并针对 BERT 神经网络模型中的问题动态预测答案?