Как проверить / снять все опции в ion-select, когда отмечен / не выбран, выбрать все опции в ionic3 - PullRequest
0 голосов
/ 04 мая 2018

Вот мой код, с помощью которого я хочу проверить / снять флажок со всеми опциями в моем выбранном всплывающем окне после того, как опция «Выбрать все ионы» будет включена или отключена.

items:any =[
      {id:1, value:"Apple"}
      {id:2, value:"Banana"}
      {id:3, value:"Stawberry"}
      {id:4, value:"PineApple"}
      {id:5, value:"Grapes"}
      ];
    selectedItems:any;
    selectAll:boolean;
    
    /**
     * This select all the items in the ion-select  popup
     **/
    selectAllItems() {
      if(!selectAll) {
        this.items.filter(Obj => {
          this.selectedItems.push(Obj.id);
        });
        this.selectedItems.push(0);
        this.selectAll = true;
      } else {
        this.selectedItems = this.items[0].id;
      }
    }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<ion-item>
        <ion-label>Multiselect</ion-label>
        <ion-select [(ngModel)]="selectedItems">
          <ion-option (ionSelect)="selectAllItems()" [value]="0">
            Select All
          </ion-option>
          <ion-option *ngFor="let item of items" [value]="item.id">
            {{item.value}}
          </ion-option>
        </ion-select>
      </ion-item>
Когда я использую (ionSelect), модель меняется, но все опции не проверяются, и когда я убираю флажок, событие ionSelect не срабатывает. Это сделано в ионном-3. Кто-нибудь поможет мне. Заранее спасибо

1 Ответ

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

Просто вставьте в выбранные itens все идентификаторы itens

constructor(private ngZone: NgZone){
}

selectAllItems() {
    if (!selectAll) {
      this.ngZone.run(() => {
        for (let item of items) {
          this.selectedItems.push(item.id)
          this.selectAll = true;
        }
      })
    } else {
      this.selectedItems = [];
      this.selectAll = false;
    }

А при выборе поставить значение selectAll

<ion-option (ionSelect)="selectAllItems()" [value]="selectAll">
            Select All
          </ion-option>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...