反应本机ios警报压倒对方

问题描述 投票:1回答:1

我正在使用Alert.alert()在反应原生ios中显示警报。我面临的问题是,如果出现相同消息的牵引警报,则它们会一个出现在另一个之上。

在解除第一个警告后,在android第二个警报出现。

无论如何使它在ios中表现得像android?

ios react-native uialertview
1个回答
0
投票

您可以添加某个状态布尔值来检查alert是否可见,例如

  state = {
    alertBoxVisible: false,
  }

  onAlertShow = () => {
    if(!this.state.alertBoxVisible) {
      this.setState({alertBoxVisible: true}, () => {
        Alert.alert(
          'Alert Title',
          'My Alert Msg',
          [
            {text: 'OK', onPress: () => this.setState({alertBoxVisible: false})},
          ],
          { cancelable: false }
        )
      })
    }
  }

并使用async await链接调用onAlertShow的函数,如

onPress={async () => {
  await this.onAlertShow()
  await this.onAlertShow()
}}
© www.soinside.com 2019 - 2024. All rights reserved.