我正在构建一个简单的移动应用,可以在主页和模态页面之间传递数据。虽然它在移动设备上运行良好,但在大屏幕上,模式并不能填满整个屏幕。因此,用户可以在屏幕外单击以关闭模式,该模态不会触发应该在模态解除时触发的任何函数。我的问题是,如何在模态外禁用单击。我不希望模式在外面点击时被忽略,但只有当我的“关闭”按钮被点击时才会被忽略。我的模态设置为:
在主页上:
open(){
let modal = this.modalCtrl.create(ModalPage,
{
firstName: this.user.firstName,
lastName: this.user.lastName,
location: this.user.location
});
modal.onDidDismiss(data => {
this.user.firstName = data.firstName;
this.user.lastName = data.lastName;
this.user.location = data.location;
});
modal.present();
}
On ModalPage:
closeModal() {
let data = {
firstName: this.user.firstName,
lastName: this.user.lastName,
location: this.user.location
}
this.viewCtrl.dismiss(data);
}
我觉得这应该是非常简单的事情,但我在网上找不到任何资源,Ionic 2 Doc也不是很清楚。请帮忙。
答案 0 :(得分:18)
在创建模态(link to docs)时使用enableBackdropDismiss
- 选项。
let modal = this.modalCtrl.create(ModalPage, { data: data }, { enableBackdropDismiss: false });
答案 1 :(得分:0)
离子4
backdropDismiss:false,
应该像这样创建模型
const modal = await this.modalCtrl.create({
component: SetaddresComponent,
cssClass: 'my-custom-modal-css',
componentProps: { },
showBackdrop:true,
backdropDismiss:false,
},