primeNG 预设值不起作用,它显示为 [object object]

Posted

技术标签:

【中文标题】primeNG 预设值不起作用,它显示为 [object object]【英文标题】:primeNG pre set value is not working, it shows as [object object] 【发布时间】:2018-06-12 07:51:55 【问题描述】:

我正在使用 angular 4 的 prime-NG 下拉菜单,亲爱的,我已经提到了我的代码的重要部分。在我选择了一个下拉项后,我将这个“config.value”值保存在数据库中。当我再次打开此表单时出现问题,我想将选定的下拉项显示为 selected 。所以我查询数据库并将“config.value”设置为保存的项目。但随后下拉菜单将其显示为 [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" 
    
]

【问题讨论】:

【参考方案1】:

当您填充options 变量时,您应该为名为@9​​87654322@ 的属性设置一个值。在这里,您正在设置一个对象:

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 )

【讨论】:

以上是关于primeNG 预设值不起作用,它显示为 [object object]的主要内容,如果未能解决你的问题,请参考以下文章

VueJS从Vuex返回值不起作用

PDFBox 设置字段值不起作用

SQL - 组中的 Max() 值不起作用

使用参数数组更改 JavaScript 函数的参数值不起作用

vTextCoord 值不起作用 - c# OPENTK

更新反应材料 ui 滑块的状态/值不起作用