我正在尝试填充一个包含一些 PrimeNg 下拉菜单的表单。为了简单起见,让我使用类似于他们网站上的示例。
<form [formGroup]="myFormGroup">
<p-dropdown [options]="cities" formControlName="selectedCity"></p-dropdown>
</form>
Run Code Online (Sandbox Code Playgroud)
this.cities = [
{name: 'New York', code: 'NY'},
{name: 'Rome', code: 'RM'},
{name: 'London', code: 'LDN'},
{name: 'Istanbul', code: 'IST'},
{name: 'Paris', code: 'PRS'}
];
Run Code Online (Sandbox Code Playgroud)
因此,假设用户从行程表中选择一行进行编辑。它对应于一些复杂的对象,其中包含 City 属性。我们需要以编程方式在表单的下拉列表中选择罗马。
我尝试这样做:
this.myFormGroup.get("selectedCity").setValue('Rome');
Run Code Online (Sandbox Code Playgroud)
尝试过:
this.myFormGroup.get("selectedCity").patchValue('Rome');
Run Code Online (Sandbox Code Playgroud)
尝试添加到html:
optionLabel="name"
Run Code Online (Sandbox Code Playgroud)
什么都没有被选中。
有什么建议如何正确地做吗?
我想我不应该添加
[(ngModel)]="selectedCity"
Run Code Online (Sandbox Code Playgroud)
并做:
this.selectedCity='Rome';
Run Code Online (Sandbox Code Playgroud)
使用 Angular6 和 PrimeNG 6.1.2。