2017-09-14 14 views
5

私のイオン3アプリケーションは、2つのタブを持つイオンタブを持っています。タブからタブに切り替えるとき、私は彼が彼の選択を確認しない限り、現在のタブを変更するのを防ぐために(AlertControllerを使って)確認メッセージを表示する必要があります。これはイオニックで可能ですか? タブが変更されたときに確認メッセージを表示しようとしました。しかし、私は新しいタブが表示されるのを防ぐことができませんでした。イオン3のタブを離れる前に確認メッセージを表示する方法

ありがとうございます。

答えて

3

あなたはNavガードを使用してそのようなことを実現できます。あなたはNavControllerのionic-docsで見つけることができます。

実装は次のようになります。現在not work(少なくともタブで作業する場合)し

ionViewCanEnter(): Promise<any> { 
    return new Promise((resolve, reject) => { 
    let alert = this.alertCtrl.create({ 
     title: 'Alert', 
     message: 'Please confirm ...', 
     buttons: [ 
     { 
      text: 'Cancel', 
      role: 'cancel', 
      handler:() => { 
      reject(); 
      }, 
     }, 
     { 
      text: 'Confirm', 
      handler:() => { 
      resolve(); 
      }, 
     }, 
     ], 
    }); 
    alert.present(); 
    }); 
} 

使用ionViewCanEnter()ionViewCanLeave()として。

+0

ありがとうございました。初めてタブを変更したときにのみ、あなたの解決策で確認メッセージを表示することができました。私が直面している問題は、ionViewCanEnterフックは、タブビューが実際に一度だけ読み込まれるためです([詳細](https://github.com/ionic-team/ionic/issues/9951)についてです。この問題 )。あなたはこの問題に遭遇しましたか? – MosbahiHaithem

+0

そのため、ユーザーはタブに入るたびに毎回確認する必要がありますか?使い勝手の悪いみたいですね。しかし、これがイオンバグであれば、これを実装するにはちょっと面倒な作業が必要になります。タブのクリックを傍受する、既定を防止する、アラートを表示する、成功した場合は手動でタブを選択()します。 – David

+0

または、タブページを再び残した後、タブページを手動で破棄して、次回に再び初期化されます。 – David

関連する問題