我在使用Angular和PrimeNG 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事件未触发。
所以......我的问题是:存在一种方法来识别第一个元素的选择(即使没有真正的变化)或者唯一的解决方案是在我的列表中插入第一个“选择一个项目”元素?