与接口属性绑定时,PrimeNG下拉选择的选项重置

时间:2018-10-19 04:31:41

标签: angular typescript primeng primeng-dropdowns

这就是我声明<p-dropdown name="taxOptions" [options]="taxOptions" [(ngModel)]="purchaseInvoiceDetail.tax"></p-dropdown> 的方式:

taxOptions

this.taxOptions = [ { label: 'Tax Exclusive', value: '0' }, { label: 'Tax Inclusive', value: '1' } ]; 属性的填充如下:

PurchaseInvoiceDetail

这是export interface PurchaseInvoiceDetail { id: number, product: Product, quantity: number, unitPrice: number, discount: number, tax: string, purchaseInvoice: PurchaseInvoice } 界面:

*ngFor

使用PurchaseInvoiceDetail填充PurchaseInvoiceDetail[]数组(即purchaseInvoiceDetail.tax)上的表格。

因此,表格的每一行中都有一个单独的p下拉列表。问题是,当我更改下拉列表的值并添加其他产品时,表将刷新,并且先前下拉列表的选定选项将重置,但不会从purchaseInvoiceDetail.tax中重置。它仅无法从Default version: Latest from a specific branch with tags获取值并将其显示为下拉列表中的选定值。 为什么会这样?

1 个答案:

答案 0 :(得分:0)

dropdowns: Array<SelectItem[]>;


<div *ngFor="let dropdown of dropdowns">
  <div *ngFor="let taxOption of dropdown">
     <p-dropdown name="taxOption" [options]="taxOption" 
     [(ngModel)]="purchaseInvoiceDetail.tax"></p-dropdown>
  </div>
</div>

SelectItem界面

export interface SelectItem {
  label: string;
  value: number;
}

这是您可以遵循的模式,只需将其适应您的行即可。