angular - Angular 5:带有嵌套选择选项的 ngFor
问题描述
我有一个对象数组。这些对象具有属性版本。版本是一个字符串数组。
我遍历对象。对于每个对象,我都希望有一个包含所有可用版本的下拉字段。
如果用户更改版本,我想将整个对象推送到我的 changeSelectedItem() 函数。
我能够将“[object Object]”打印到控制台。正如我所看到的,[object Object] 已经被推送到我的函数中。
我怎样才能实现我想要的功能?
我的 HTML:
<tr *ngFor="let object of storeFilesService.objects">
<td><input type="checkbox" value="a" (click)="checkobject(object)" name="checkbox" [checked]="true">
</td>
<td>{{object.id}}</td>
<td>{{object.name}}</td>
<td>{{object.version}}
<select (change)="changeSelectedItem($event.target.value)">
<option *ngFor="let version of object.versions" value={{object}}>
{{version}}
</option>
</select>
</td>
TS
changeSelectedItem(filterVal: any) {
console.log(filterVal);
}
解决方案
这应该像这样工作:
<tr *ngFor="let object of storeFilesService.objects">
<td><input type="checkbox" value="a" (click)="checkobject(object)" name="checkbox" [checked]="true">
</td>
<td>{{object.id}}</td>
<td>{{object.name}}</td>
<td>{{object.version}}
<select >
<option *ngFor="let version of object.versions" (click)="changeSelectedItem(version)">
{{version}}
</option>
</select>
</td>
</tr>
发生了什么变化:
- 选择时删除(更改)
- 在选项上应用 (click)="changeSelectedItem(version)"
推荐阅读
- reactjs - 在保留先前状态的同时更改状态
- android - 如何在材料设计中删除文本字段的背景颜色
- python - 比较 datetime mysql 和 flask
- wordpress - 我需要将 joomla 迁移到 wordpress
- javascript - 那个类方法是异步的吗?(无实例)
- javascript - 如何防止 Nestjs 上的事件循环冻结?
- java - 如何在 MacOS 上的 NetBeans 中创建 Java 应用程序?
- c - 从 C 中 for 循环中的 if 语句转储堆栈跟踪
- c# - WPF - 显示以 BitmapImage 作为源的图像时出现问题
- neo4j - 在 Neo4j 中调整标签字体的大小