无法将ngModel绑定到p下拉值(角度)

时间:2019-05-27 07:27:15

标签: javascript angular typescript primeng

我使用 PrimeNg 下拉列表

这是模板的html

<div>
  <label>{{ l('Portfolio') }}</label>
  <p-dropdown
    [(ngModel)]="property.portfolioId"
    [disabled]="!landlordPortfolios.length"
    [options]="landlordPortfolios"
    autoWidth="false"
    [style]="{ width: '100%' }"
    name="landlordPortfolio"
    [autoWidth]="true"
  ></p-dropdown>
</div>

我通过这种方法获取下拉列表的值

getLandlordPortfoliosById(landlordId: number): void {
  this.landlordPortfolios = [];

  this._landlordPortfolios.getPortfolioDropdownValuesById(landlordId).subscribe(result => {
    result.items.forEach(value => {
      this.landlordPortfolios.push({
        label: value.name,
        value: value.id,
      });
    });
  });
}

并这样称呼

if (this.property.landlordId) {
  this.getLandlordPortfoliosById(this.property.landlordId);

  this.initLandlordSuggestionsById(this.property.landlordId);
}

例如,我有landlordId = 1,并且下拉菜单的选定选项也必须与id = 1一起使用。 这是结果

enter image description here 但是我在下拉列表中得到了选定的项目,只是空白字段,单击下拉列表时我看到了所有选项。我的问题在哪里?

1 个答案:

答案 0 :(得分:0)

所以问题出在数据请求/获取

如果我将*ngIf设置为下拉菜单,例如*ngIf = "landlordPortfolios.length"并删除[disabled],则一切正常。