爲空,我有以下的標記:如何設置選擇選項值角2
<select [ngModel]="selectedCategory"
(ngModelChange)="selectCategory($event && $event != 'null' ? $event : null)">
<option [value]="null">(all categories)</option>
<option *ngFor="let cat of categories" [ngValue]="cat">{{cat.name}}</option>
</select>
和打字稿:
export class MyComp {
public categories: Category[];
public selectedCategory: Category;
public selectCategory(cat: Category) {
this.selectedCategory = cat;
doStuff();
}
}
它只是看起來並不像正確的方式做它。有沒有其他更少的詳細方式來獲得值爲null(不是'null')的默認選項?我不能把默認選項放在categories數組中,因爲它會弄亂其他代碼。我不介意ngModelChange
,因爲我需要在選擇時運行自定義代碼。這只是我想清理的$event && $event != 'null' ? $event: null
部分。
我不能使用[ngValue]
上的默認選項;它只是給了我一個值0: null
(字符串)。並跳過設置值結果綁定selectedCategory=null
不匹配默認選項,使組合框在init時未選中。
這將導致下拉菜單選擇空項目而不是(全部類別)項目 – rjv