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)イベントのメソッドを設定しました (ユーザーがこのリストから要素を選択すると、いくつかの操作を実行し、2 つ目のドロップダウン メニューをページに表示する必要があるため)。
このドロップダウン メニューで 2 番目または 3 番目の要素を選択すると問題なく動作しますが、最初の要素を選択するとイベントは実行されません。ドロップダウン メニューでは最初の要素がデフォルトの要素であるため、それを選択しても変更はなく、onChangeイベントはトリガーされません。
だから...私の質問は、最初の要素の選択を認識する方法が存在するか(実際の変更がない場合でも)、または唯一の解決策は、リストに最初の「アイテムを選択する」要素を挿入することですか?