primeNG预设值不起作用,显示为[对象对象]

问题描述 投票:0回答:1

我正在使用带有角度4的素数NG下拉,我已经提到了我的代码的重要部分。在我选择了一个下拉项后,我将这个“config.value”值保存在数据库中。当我再次打开此表单时出现问题,我想显示所选的下拉项目。所以我查询数据库并将“config.value”设置为已保存的项目。但随后下拉显示为[对象对象]。我应该如何更改我的代码来解决这个问题。

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" 
    }
]
javascript typescript angular2-forms primeng angular4-forms
1个回答
0
投票

填充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 })
© www.soinside.com 2019 - 2024. All rights reserved.