Проверьте элемент columnoptions p-multiSelect PrimeNG и добавьте соответствующий столбец в конец массива. - PullRequest
0 голосов
/ 31 мая 2018

Есть ли какое-либо решение, чтобы элемент check / uncheck в PrimeNG p-multiselect оставлял столбцы связанного массива в порядке?

(на самом деле, когда мы снимаем флажок с элемента, он исчезает из столбцов массива, но когда мы-check, столбец добавляется в конец массива, а не в начальный индекс)

1 Ответ

0 голосов
/ 31 мая 2018

Что вы можете сделать, это добавить свойство position к вашим опциям .Затем все, что вам нужно сделать, это добавить событие onChange и изменить порядок selectedOptions со свойством position.

HTML

<p-multiSelect [options]="cars" [(ngModel)]="selectedCars1" [panelStyle]="{minWidth:'12em'}" (onChange)="reorderValues($event)"></p-multiSelect>

TS

    // add position property
    this.cars.forEach(function (car, i) {
      car.value = { position: i, value: car.value };
    });

и

  reorderValues(event) {
    this.selectedCars1.sort(function (a: any, b: any) { return (a.position > b.position) ? 1 : ((b.position > a.position) ? -1 : 0); });
  }

Редактировать

Если вы хотите сделать этот множественный выборполе обязательно , добавьте в него подтверждение.

  validateForm() {
    this.showMultiselectRequiredMessage = (this.selectedCars1.length === 0) ? true : false;
  }

См. StackBlitz

...