Как распознать событие, связанное с щелчком по первому элементу по умолчанию, в раскрывающемся меню? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть следующая проблема с использованием 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 не будет запущено.

Итак ... мой вопрос: существует ли способ распознать выбор первого элемента (даже если нет реальных изменений) или единственное решение - вставить первый элемент "выбрать элемент" в мой список?

...