Выбранный параметр раскрывающегося списка PrimeNG сбрасывается при привязке со свойством интерфейса - PullRequest
0 голосов
/ 19 октября 2018

Вот как я объявил p-dropdown:

<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[].

Таким образом, в каждой строке таблицы присутствует отдельный p-раскрывающийся список,Проблема в том, что когда я изменяю значение раскрывающегося списка и добавляю другой продукт, таблица обновляется, и выбранный параметр предыдущего раскрывающегося списка сбрасывается, но не из purchaseInvoiceDetail.tax.Он не может только извлечь значение из purchaseInvoiceDetail.tax и показать его как выбранное значение в раскрывающемся списке.Почему это происходит?

1 Ответ

0 голосов
/ 19 октября 2018
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;
}

Это шаблон, которому вы можете следовать, просто адаптируйте его к своим строкам.

...