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)イベントのメソッドを設定しました (ユーザーがこのリストから要素を選択すると、いくつかの操作を実行し、2 つ目のドロップダウン メニューをページに表示する必要があるため)。

このドロップダウン メニューで 2 番目または 3 番目の要素を選択すると問題なく動作しますが、最初の要素を選択するとイベントは実行されません。ドロップダウン メニューでは最初の要素がデフォルトの要素であるため、それを選択しても変更はなく、onChangeイベントはトリガーされません。

だから...私の質問は、最初の要素の選択を認識する方法が存在するか(実際の変更がない場合でも)、または唯一の解決策は、リストに最初の「アイテムを選択する」要素を挿入することですか?

4

0 に答える 0