代码之家  ›  专栏  ›  技术社区  ›  Pradnya Bhagat

基于Ionic 3中的第一个下拉选择显示/隐藏第二个下拉选择

  •  2
  • Pradnya Bhagat  · 技术社区  · 7 年前

    我是爱奥尼亚的新手,我试图根据第一个下拉列表的选择隐藏第二个下拉列表。 我的第一个下拉列表 1、银行 2、现金 当我选择银行时,第二个下拉列表将被隐藏,当选择现金时,它将显示第二个下拉列表。

    。html文件

    <ion-list no-lines>
      <ion-item>
        <ion-label>Payment Mode</ion-label>
        <ion-select [(ngModel)]="paymentmode" (ionChange)="paymentModeChosen()">
          <ion-option [value]="paymentmode" *ngFor="let paymentmode of 
             paymentmodes()">{{paymentmode}}</ion-option>
         </ion-select>
       </ion-item>
    
      <ion-item  *ngIf="paymentlocations">
        <ion-label>Payment Location</ion-label>
        <ion-select [(ngModel)]="paymentlocation" 
           (ionChange)="paymentLocationChosen()">
        <ion-option  [value]="paymentlocation" *ngFor="let paymentlocation of 
          paymentlocations()">{{paymentlocation}}</ion-option>
      </ion-select>
    </ion-item>
    </ion-list>
    

    。ts文件

    paymentmodes(): string[] {
    return [
      "Bank",
      "Cash"
    ]; }
     paymentmode: string = "Bank";
    
     paymentlocations(): string[] {
    return [
      "Ahmadabad",
      "Chennai",
      "Delhi",
      "Kolkata",
      "Mahad",
      "Mumbai",
      "Pune",
      "Roha",
      "Sahibabad"
    ];
    }
    
    paymentlocation: string = "Ahmadabad";
    
    constructor(public navCtrl: NavController, public navParams: NavParams) {}
    
    paymentModeChosen(): void {
      console.log(this.paymentmode);}
    
    paymentLocationChosen():void{
     console.log(this.paymentlocation);
    }}
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   Preeti    7 年前

    中的更改。ts文件

    在中创建新变量。ts文件

    public paymentL = true;
    

    然后修改此函数

    paymentModeChosen(): void {
        console.log(this.paymentmode);
        if(this.paymentmode == 'Cash'){
          this.paymentL = false;
        }else{
           this.paymentL = true;
        }
    
      }
    

    html文件中的更改

    在html文件ngif“paymentL”中,如果paymentL是“Cash”,则此离子项目不可见,如果是“Bank”,则离子项目可见。

    <ion-item  *ngIf="paymentL">
        <ion-label>Payment Location</ion-label>
        <ion-select [(ngModel)]="paymentlocation" 
           (ionChange)="paymentLocationChosen()">
        <ion-option  [value]="paymentlocation" *ngFor="let paymentlocation of 
          paymentlocations()">{{paymentlocation}}</ion-option>
      </ion-select>
    </ion-item>
    
        2
  •  2
  •   Setu Kumar Basak    7 年前

    在您的中。html文件

       <ion-list no-lines>
      <ion-item>
        <ion-label>Payment Mode</ion-label>
        <ion-select [(ngModel)]="paymentmode" (ionChange)="paymentModeChosen($event)">
          <ion-option [value]="paymentmode" *ngFor="let paymentmode of 
             paymentmodes()">{{paymentmode}}</ion-option>
         </ion-select>
       </ion-item>
    
      <ion-item  *ngIf="showPaymentLocation"> // decide whether to show or hide
        <ion-label>Payment Location</ion-label>
        <ion-select [(ngModel)]="paymentlocation" 
           (ionChange)="paymentLocationChosen()">
        <ion-option  [value]="paymentlocation" *ngFor="let paymentlocation of 
          paymentlocations()">{{paymentlocation}}</ion-option>
      </ion-select>
    </ion-item>
    </ion-list>
    

    //在您的中。ts文件

    showPaymentLocation: boolean = false;
    
    constructor(public navCtrl: NavController, public navParams: NavParams) {}
    
    paymentModeChosen(paymentmodeName): void {
      if(paymentmodeName == 'Bank') {
        this.showPaymentLocation = false;
      } else { 
        this.showPaymentLocation = true;
       }
    }