<div> <label> Categories </label> <select> <option *ngFor = "let category of categories" [value] = "category" (click) = "onCategorySelected( category.name )"> {{category.name}} </option> </select></div>该函数onCategorySelected只是没有被调用。我必须将用户从下拉列表中选择的值传递给它。出路何在?
2 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
该option标签不支持该click事件。您可以改为使用标签change上的事件select。您还将一个对象分配给标签value中的属性option,这是不正确的。要将对象分配为值,您需要使用ngValue,如果没有为您分配唯一的 id value,例如。[value]="category.id"。
试试这个吧。
<select (change)="onCategorySelected($event.target.value)"> <!-- If you are using ngModel or formControl, get the value from there instead of using $event.target.value -->
<option *ngFor="let category of categories" [ngValue]="category">
{{category.name}}
</option>
</select>
白衣非少年
TA贡献1155条经验 获得超0个赞
使用这种方式
<select (change)="selectionChanged($event.target.value)">
....
</select>
$event.target.value将发送您更改的选项的值
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消