【问题标题】:How to open another component page when selecting an option in ion-select in ionic 3在ionic 3中选择离子选择中的选项时如何打开另一个组件页面
【发布时间】:2018-06-03 03:16:06
【问题描述】:

当用户从 ionic3 中的 ion-select 中选择一个选项时,我希望打开另一个组件页面。有人可以帮忙做什么吗?提前致谢。下面是我的离子选择代码..

<ion-content>
    <ion-list>
        <ion-item>
            <ion-label>ENGINEERING &amp; TECHNOLOGY</ion-label>
            <ion-select [(ngModel)]="engineering">
                <ion-option value="cse">CSE</ion-option>
                <ion-option value="fse">FSE</ion-option>
                <ion-option value="mee">MEE</ion-option>
                <ion-option value="cve">CVE</ion-option>
                <ion-option value="age">AGE</ion-option>
                <ion-option value="che">CHE</ion-option>
                <ion-option value="eee">EEE</ion-option>
            </ion-select>
        </ion-item>
    </ion-list>
</ion-content>

【问题讨论】:

    标签: angular typescript ionic-framework ionic3


    【解决方案1】:

    创建一个新属性来保存不断变化的页面 ID。使用@ViewChild 获取对选择元素的引用。一种方法将有助于根据选择值进行导航: 确定按钮将对 (ionchange) 做出反应

    打字稿:

      @ViewChild('select') select;
      pageId=1;
      constructor(public navCtrl: NavController) {
    
      }
      onClick() {
    
        if(this.pageId===1){
        this.navCtrl.push(ContactPage);
        }
        this.select.close();
    
      }
    

    HTML

    <ion-select #select (ionChange)="onClick()" [(ngModel)]="engineering">
                    <ion-option (ionSelect)="pageId=1" value="cse">CSE</ion-option>
    

    ....

    Demo

    【讨论】:

      【解决方案2】:

      在您的 page.html 中,

      <ion-label>ENGINEERING &amp; TECHNOLOGY</ion-label>
      <ion-select [(ngModel)]="engineering" (ionChange)="OpenPage()">
      <ion-option value="cse">CSE</ion-option>
      <ion-option value="fse">FSE</ion-option>
      <ion-option value="mee">MEE</ion-option>
      <ion-option value="cve">CVE</ion-option>
      <ion-option value="age">AGE</ion-option>
      <ion-option value="che">CHE</ion-option>
      <ion-option value="eee">EEE</ion-option>
      </ion-select>
      

      在你的 page.ts 中,

        OpenPage() {
          if (this.engineering === 'cse') {
            this.navCtrl.push(CSEPage);
          } else if (this.engineering === 'fse') {
            this.navCtrl.push(FCEPage);
          }
        }
      

      如果要将新打开的页面设置为根页面,请使用this.navCtrl.setRoot(Page) 而不是this.navCtrl.push(Page)

      【讨论】:

      • 感谢您的回答,它确实有效,但我希望在单击选项中的“确定”按钮后打开页面...请提供任何帮助。
      • @Oluwabukola Hezekiah 我更新了我的答案。你现在可以检查吗
      猜你喜欢
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2019-07-03
      • 2017-09-26
      相关资源
      最近更新 更多