Я тоже использую выпадающий список из PrimeNg, и вот как я заставляю его работать в моем случае. Я не использую appendTo.
В ваших component.ts добавьте следующее утверждение импорта: import {SelectItem} from "primeng";
Затем определите переменную этого типа, например webAcs: SelectItem[];
И переменная типа string наподобие этой: webAcsSelected: string = "";
В конструкторе вы можете инициализировать ее следующим образом:
this.webAcs = [];
this.webAcs.push({label: '', value: ''});
this.webAcs.push({label: 'Successful', value: 'Successful'});
this.webAcs.push({label: 'Unsuccessful', value: 'Unsuccessful'});
Вы также можете определить int для значений, но это соответствует вашим потребностям. В случае int также переменная webAcsSelected должна иметь тип int и должна быть инициализирована равной 0. Обратите внимание, что в этом примере у вас будет 3 значения, а первое пустое, так что пользователь также может оставить выбор из раскрывающегося списка пустым, если необходимо. В случае значений int первая запись должна иметь значение 0. Если вам это не нужно / нужно, чем просто удалить первую запись.
Реализуйте метод следующим образом:
webAcsChange(event){
this.webAcsSelected = event.value;
}
После этого в вашем компоненте. html вы можете использовать следующее:
<p-dropdown [options]="webAcs" (onChange)="webAcsChange($event)" [(ngModel)]="webAcsSelected"></p-dropdown>
Надеюсь, это вам поможет. Это прекрасно работает для меня.