25

我正在构建一个 ionic 2 应用程序,我正在使用以下组件

http://ionicframework.com/docs/components/#alert

  import { AlertController } from 'ionic-angular';

export class MyPage {
  constructor(public alertCtrl: AlertController) {
  }

  showAlert() {
    let alert = this.alertCtrl.create({
      title: 'New Friend!',
      subTitle: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
      buttons: ['OK']
    });
    alert.present();
  }
}

如何确保当我在框外单击时不会解除警报?

4

3 回答 3

62

离子 2/3:

正如您在AlertController 文档中看到的那样,您可以enableBackdropDismiss在创建警报时使用 (boolean) 选项:

enableBackdropDismiss:是否应该通过点击背景来解除警报。默认为真

import { AlertController } from 'ionic-angular';

// ...
export class MyPage {

  constructor(public alertCtrl: AlertController) {}

  showAlert() {
    let alert = this.alertCtrl.create({
      title: 'New Friend!',
      subTitle: 'Your friend, Obi wan Kenobi, just accepted your friend request!',
      buttons: ['OK'],
      enableBackdropDismiss: false // <- Here! :)
    });

    alert.present();
  }
}

离子 4/5:

在 Ionic 4/5中,此属性已重命名为backdropDismiss

backgroundDismiss :如果为 true,则单击背景时将关闭警报。

import { AlertController } from '@ionic/angular';

//...
export class MyPage {

  constructor(public alertController: AlertController) {}

  async showAlert() {
    const alert = await this.alertController.create({
      header: 'Alert',
      subHeader: 'Subtitle',
      message: 'This is an alert message.',
      buttons: ['OK'],
      backdropDismiss: false // <- Here! :)
    });

    await alert.present();
  }
}
于 2017-06-23T06:22:19.153 回答
14

在 ionic 4 中,该选项已重命名为

backdropDismiss: false
于 2019-04-24T08:07:44.877 回答
2

在 alertCtrl.create 选项中设置 enableBackdropDismiss: false

于 2017-06-23T01:11:04.097 回答