菜鸟教程小白 发表于 2022-12-11 20:35:39

ios - react native ios 警报,相互覆盖


                                            <p><p>我正在使用 <code>Alert.alert()</code> 在 react native ios 中显示警报。
我面临的问题是,如果出现相同消息的拖曳警报,它们会出现在另一个之上。</p>

<p>在 android 中,在关闭第一个警报后会出现第二个警报。</p>

<p>无论如何让它在 ios 中表现得像 android?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以添加某个状态 bool 值来检查 <code>alert</code> 是否可见,例如</p>

<pre><code>state = {
    alertBoxVisible: false,
}

onAlertShow = () =&gt; {
    if(!this.state.alertBoxVisible) {
      this.setState({alertBoxVisible: true}, () =&gt; {
      Alert.alert(
          &#39;Alert Title&#39;,
          &#39;My Alert Msg&#39;,
          [
            {text: &#39;OK&#39;, onPress: () =&gt; this.setState({alertBoxVisible: false})},
          ],
          { cancelable: false }
      )
      })
    }
}
</code></pre>

<p>并使用 <code>async await</code> 链接调用 <code>onAlertShow</code> 的函数,例如</p>

<pre><code>onPress={async () =&gt; {
await this.onAlertShow()
await this.onAlertShow()
}}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios -reactnativeios 警报,相互覆盖,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/52329687/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/52329687/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - react native ios 警报,相互覆盖