【问题标题】:primeNG pre set value is not working, it shows as [object object]primeNG 预设值不起作用,它显示为 [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" 
    }
]

【问题讨论】:

    标签: javascript typescript angular2-forms primeng angular4-forms


    【解决方案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 })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-24
      • 2017-10-09
      • 2017-10-21
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多