5
我的离子3应用程序具有带两个选项卡的离子选项卡。当从标签切换到标签时,我需要显示一条确认消息(使用AlertController),以防止用户更改当前标签,除非他确认了他的选择。离子是可能的吗? 我试着在选项卡更改时显示确认消息。但是,我无法阻止新标签出现。如何在离子选项卡离开3之前显示确认消息
谢谢。
我的离子3应用程序具有带两个选项卡的离子选项卡。当从标签切换到标签时,我需要显示一条确认消息(使用AlertController),以防止用户更改当前标签,除非他确认了他的选择。离子是可能的吗? 我试着在选项卡更改时显示确认消息。但是,我无法阻止新标签出现。如何在离子选项卡离开3之前显示确认消息
谢谢。
你可以使用导航警卫来实现这样的事情。您可以在NavController的离子文档中找到它们。
的实现可能是这个样子:
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()
当前确实not work(使用标签时,至少)。
谢谢你的回答。只有当我第一次更换标签页时,我才能用解决方案显示确认消息。我遇到的问题是ionViewCanEnter钩子只能触发一次,因为tabs视图实际上只加载一次([更多详情](https://github.com/ionic-team/ionic/issues/9951))这个问题 )。你有没有遇到过这个问题? – MosbahiHaithem
因此,用户必须确认_every_他进入选项卡的时间?听起来很糟糕的可用性。但如果这是一个离子虫,目前你将不得不做一些凌乱的黑客来实现这一点。就像截获选项卡上的点击一样,如果成功,请防止默认,手动显示alert,.select()选项卡。 – David
或者您在再次离开后手动销毁标签页,以便下次再次初始化。 – David