我在angular 4中使用了一个prime-NG下拉列表,亲爱的,我已经提到了我的代码的重要部分。在我选择了一个下拉项后,我将这个"config.value“值保存在数据库中。当我再次打开此表单时出现问题,我希望将选定的下拉式项目显示为选定。因此,我查询数据库并将"config.value“设置为saved item。但是下拉列表将它显示为object object。我应该如何更改我的代码来解决这个问题。
html:
<p-dropdown [options] = "options"
[(ngModel)] = "config.value"
editable = true
optionsLabel = "label"
[formControlName] = "config.name"
[placeholder] = "config.label"
[filter] = "config.options['filter']">
</p-dropdown>.ts
ngOnInit() {
this.myService.getOptions( this.orgId )
.subscribe( result =>{
if (result[0]){
for (let i =0; i < result.length ; i++){
this.options.push({label: result[i].name, value: result[i] })
}
}
});
}从服务返回的结果:
[
{
"name": "Sachithra",
"phone" : "xxxxxxxxx",
"addreess": "yyyyyyyyy A"
},
{
"name": "wishwamal",
"phone" : "xxxxxxxxx",
"addreess": "yyyyyyyy B"
}
]发布于 2018-01-03 00:09:29
填充options变量时,应为名为value的属性设置一个值。在这里,您正在设置一个对象:
this.options.push({label: result[i].name, value: result[i] })试试下面这样的代码:
this.options.push({label: result[i].name, value: result[i].phone })或
this.options.push({label: result[i].name, value: result[i].addreess })https://stackoverflow.com/questions/48063825
复制相似问题