使 p-dropdown 可编辑使其显示 [object Object]
Making a p-dropdown editable makes it display [object Object]
我有一个 Angular 网络应用程序,我需要在其中有一个可编辑的 p-dropdown。
我一改这个...
<p-dropdown [options]="myOptionsForMyForm" optionLabel="name" appendTo="body"></p-dropdown>
对此...
<p-dropdown [options]="myOptionsForMyForm" optionLabel="name" appendTo="body" editable="true"></p-dropdown>
p 下拉菜单变为可编辑 - 这很好。
但是,当页面最初加载时,它开始在下拉列表中显示 [object Object] 而不是 'name' 的值。
填充 p 下拉列表的 class 如下所示:
export class MyClass {
name: string;
displayOrder: number;
}
显然,让它可编辑就是让它在加载时显示整个 MyClass 对象,而不仅仅是显示名称值。
我发现我可以通过在启动时强制它来解决这个问题。
基本上我改变了这个...
this.myForm.setValue({
'myOption': MyClass
});
对此...
this.myForm.setValue({
'myOption': MyClass.name
});
但是当它认为它获得了整个 class 而它只获得了一个字符串时,这在其他地方搞砸了。
如果它是可编辑的,我基本上必须在让 p 下拉列表正确显示但行为不正确,或者让它行为正确但在初始加载时显示不正确的 [object Object] 值之间做出选择。
有什么建议吗?
非常感谢
尝试添加 displayProperty = "name"
<p-dropdown [options]="myOptionsForMyForm" displayProperty = "name" optionLabel="name" appendTo="body" editable="true" ></p-dropdown>
我有一个 Angular 网络应用程序,我需要在其中有一个可编辑的 p-dropdown。
我一改这个...
<p-dropdown [options]="myOptionsForMyForm" optionLabel="name" appendTo="body"></p-dropdown>
对此...
<p-dropdown [options]="myOptionsForMyForm" optionLabel="name" appendTo="body" editable="true"></p-dropdown>
p 下拉菜单变为可编辑 - 这很好。
但是,当页面最初加载时,它开始在下拉列表中显示 [object Object] 而不是 'name' 的值。
填充 p 下拉列表的 class 如下所示:
export class MyClass {
name: string;
displayOrder: number;
}
显然,让它可编辑就是让它在加载时显示整个 MyClass 对象,而不仅仅是显示名称值。
我发现我可以通过在启动时强制它来解决这个问题。
基本上我改变了这个...
this.myForm.setValue({
'myOption': MyClass
});
对此...
this.myForm.setValue({
'myOption': MyClass.name
});
但是当它认为它获得了整个 class 而它只获得了一个字符串时,这在其他地方搞砸了。
如果它是可编辑的,我基本上必须在让 p 下拉列表正确显示但行为不正确,或者让它行为正确但在初始加载时显示不正确的 [object Object] 值之间做出选择。
有什么建议吗?
非常感谢
尝试添加 displayProperty = "name"
<p-dropdown [options]="myOptionsForMyForm" displayProperty = "name" optionLabel="name" appendTo="body" editable="true" ></p-dropdown>