У меня есть следующая проблема с использованием Angular и элемента PrimeNG DropDown, этого: https://www.primefaces.org/primeng/#/dropdown
Обратите внимание, прежде чем начать: как вы можете видеть на предыдущей странице, этот элемент всегда связан со списком, первый элемент которого представляет собой фальшивый ярлык, такой как «Выбрать город», что-то вроде этого:
this.cities1 = [
{label:'Select City', value:null},
{label:'New York', value:{id:1, name: 'New York', code: 'NY'}},
{label:'Rome', value:{id:2, name: 'Rome', code: 'RM'}},
{label:'London', value:{id:3, name: 'London', code: 'LDN'}},
{label:'Istanbul', value:{id:4, name: 'Istanbul', code: 'IST'}},
{label:'Paris', value:{id:5, name: 'Paris', code: 'PRS'}}
];
В моем проекте у меня есть что-то вроде этого:
const AOO_LIST: Aoo[] = [
{ Name: 'AOO-1', Value: 'AOO-1' },
{ Name: 'AOO-2', Value: 'AOO-2' },
{ Name: 'AOO-3', Value: 'AOO-3' }
];
непосредственно содержит голоса, и у меня нет первого голоса "выбрать что-то" в моем списке. Я опасаюсь, что автоматически отображается первый реальный элемент моего списка.
Но при этом у меня проблема, потому что, на мой взгляд, что-то вроде этого:
<p-dropdown [options]="aooList"
[(ngModel)]="selectedAoo"
optionLabel="Name"
(onChange)="onChangeAoo($event)">
</p-dropdown>
Как вы можете видеть, я установил метод для события (onChange) в этом коде (потому что, когда пользователь выбирает элемент из этого списка, необходимо выполнить некоторую операцию, а второе выпадающее меню должно будет отображаться на странице).
Работает нормально, если я выбираю второй или третий элемент в этом раскрывающемся меню, но событие не выполняется, если я выбираю первый, потому что в моем раскрывающемся меню первый является значением по умолчанию, поэтому при выборе его нет изменить и событие onChange не будет запущено.
Итак ... мой вопрос: существует ли способ распознать выбор первого элемента (даже если нет реальных изменений) или единственное решение - вставить первый элемент "выбрать элемент" в мой список?