0

我在使用AngularPrimeNG DropDown 元素时遇到以下问题:https ://www.primefaces.org/primeng/#/dropdown

开始之前请注意:正如您在上一页中看到的,此元素始终与一个列表相关联,该列表的第一个元素是一个假标签,如“Select City”,如下所示:

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事件未触发。

所以......我的问题是:存在一种方法来识别第一个元素的选择(即使没有真正的变化)或者唯一的解决方案是在我的列表中插入第一个“选择一个项目”元素?

4

0 回答 0