简体   繁体   中英

Ionic: change ion-list items on click

Lets say I have 3 lists

list: 1 ) bus, plane

list: 2 ) [related to bus] slow, can't fly

list: 3) [related to plane] fast, can fly

In my Ionic Angular project I have successfully made the 1st ion-list. But how can I change the whole ion-list by clicking on the item inside it?

[I get it, its something to do with (click) function, but how I can affect the whole list using typescript]

Edit: I get what you want to achieve. You can do this by creating an intermediary list and using that list in your ngFor . That way you can just simply change the reference of the intermediary list to whatever list you like onClick

export class ListPage {
   transportationTypes: string[] = ['bus', 'plane'];
   busSpecs: string[] = ['slow', "can't fly"];
   planeSpecs: string[] = ['fast', 'can fly'];

   currentList: string[] = this.transportationTypes;

   itemClicked(type): void {
      if (type === 'bus') {
        this.currentList = this.busSpecs;
      } else if(type === 'plane') {
        this.currentList = this.planeSpecs;
      } else {
        this.currentList = this.transportationTypes;
      }
   }
}

And in your HTML just call the itemClicked function

<ion-list *ngIf="currentList">
  <ion-item *ngFor="let item of currentList" (click)="itemClicked(item)">
    {{item}}
  </ion-item>
</ion-list>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM