У меня есть следующий код:Как установить выберите значение параметра в нуль в угловых 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»)? Я не могу поместить параметр по умолчанию в массив категорий, так как это испортит другой код. И я не против ngModelChange
, так как мне нужно запустить собственный код при выборе. Это просто часть $event && $event != 'null' ? $event: null
, которую я хотел бы очистить.
Невозможно использовать [ngValue]
по умолчанию; он просто дает мне значение 0: null
(строка). И пропустить значение настройки приводит к привязке selectedCategory=null
, чтобы не соответствовать параметру по умолчанию, оставляя поле со списком невыбранным в init.
Это приведет к тому, что выпадающий список будет выбирать пустой элемент вместо пункта (всех категорий), который находится на нуле – rjv