<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 關注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消