Я пытаюсь заполнить форму, в которой есть несколько раскрывающихся списков PrimeNg. Для простоты позвольте мне использовать пример, аналогичный тому, что есть на их веб-сайте.
<form [formGroup]="myFormGroup">
<p-dropdown [options]="cities" formControlName="selectedCity"></p-dropdown>
</form>
this.cities = [
{name: 'New York', code: 'NY'},
{name: 'Rome', code: 'RM'},
{name: 'London', code: 'LDN'},
{name: 'Istanbul', code: 'IST'},
{name: 'Paris', code: 'PRS'}
];
Итак, предположим, что пользователь из таблицы со своими поездками выбирает строку для редактирования. Он соответствует некоторому сложному объекту, который содержит свойство City. Нам нужно программно выбрать, скажем, Рим в раскрывающемся списке формы.
Я пытался сделать:
this.myFormGroup.get("selectedCity").setValue('Rome');
попробовал:
this.myFormGroup.get("selectedCity").patchValue('Rome');
попытался добавить к html:
optionLabel="name"
Ничего не выбирается.
Есть какие-нибудь советы, как это сделать правильно?
Полагаю, мне не следует добавлять
[(ngModel)]="selectedCity"
, а делать:
this.selectedCity='Rome';
Используя Angular6 и PrimeNG 6.1.2.