如何在 React Native 中使用 Alert 对话框?


Alert 组件用于向用户显示一个对话框,即弹出窗口,其中包含标题、消息和按钮,以便根据显示的消息获取用户的确认。

Alert 的基本组件如下所示:

Alert.alert('yourtile', 'yourmessage', [yourbuttons], ‘options’)

要使用 Alert 组件,您需要按如下方式导入它:

import { Alert } from 'react-native';

要获取弹出窗口,您只需调用 Alert.alert() 函数即可。alert() 函数接受四个参数:标题、消息、按钮和选项。标题是必填参数,其余为可选参数。

以下是如何使用 Alert.alert() 的一个简单示例:

Alert.alert(
   "Hi",
   "Do you want to continue?",
   [
      {
         text: "Later",
         onPress: () => console.log("User pressed Later")
      },
      {
         text: "Cancel",
         onPress: () => console.log("Cancel Pressed"),
         style: "cancel"
      },
      { text: "OK",
         onPress: () => console.log("OK Pressed")
      }
   ],
   { cancelable: false }
);

这里的标题是“Hi”,消息是“Do you want to continue”,我想在对话框中显示的按钮是“稍后”、“取消”和“确定”。每个按钮都添加了 onPress 事件,该事件显示一条控制台消息。最后一个是选项参数,可用于控制弹出窗口的行为。在 Android 中,默认情况下,如果点击弹出窗口边界之外,弹出窗口将关闭。要禁用此功能,您可以使用 { cancelable: false } 作为选项参数。当您点击弹出窗口区域之外时,由于 cancelable 设置为 false,因此它不会关闭。

在 iOS 中,您可以指定任意数量的按钮,但在 Android 中,您可以使用三个按钮。Android 中的三个按钮具有中性、负面和正面按钮的概念,例如:

  • 如果指定一个按钮,它将类似于“正面”按钮,例如“确定”。

  • 如果两个按钮,第一个将是“负面”按钮,第二个将是“正面”按钮。例如“取消”和“确定”。

  • 如果三个按钮,则将是“中性”、“负面”、“正面”。例如“稍后”、“取消”和“确定”。

以下是一个工作示例,展示了 Alert 组件的工作原理:

示例 1:显示 Alert 对话框

import React from 'react';
import { Button, View, Alert } from 'react-native';
const App = () => {
   const testAlert = () =>
   Alert.alert(
      "Hi",
      "Do you want to continue?",
      [
         {
            text: "Later",
            onPress: () => console.log("User pressed Later")
         },
         {
            text: "Cancel",
            onPress: () => console.log("Cancel Pressed"),
            style: "cancel"
         },
         { text: "OK",
            onPress: () => console.log("OK Pressed")
         }
      ],
      { cancelable: false }
   );
   return (
      <View style={{flex :1, justifyContent: 'center', margin: 15 }}>
         <Button
            title="Click Me"
            color="#9C27B0"
            onPress={testAlert}
         />
      </View>
   );
}
export default App;

输出

示例 2:在 Android 中使用 { cancelable: true }

在下面的示例中,{ cancelable: true } 与标题、消息和按钮一起使用。因此,Alert 对话框将如下所示:

Alert.alert(
   "Hi",
   "Do you want to continue?",
   [
      {
         text: "Later",
         onPress: () => console.log("User pressed Later")
      },
      {
         text: "Cancel",
         onPress: () => console.log("Cancel Pressed"),
         style: "cancel"
      },
      { text: "OK",
         onPress: () => console.log("OK Pressed")
      }
   ],
   { cancelable: true }
);

完整的示例如下:

import React from 'react';
import { Button, View, Alert } from 'react-native';
const App = () => {
   const testAlert = () =>
   Alert.alert(
      "Hi",
      "Do you want to continue?",
      [
         {
            text: "Later",
            onPress: () => console.log("User pressed Later")
         },
         {
            text: "Cancel",
            onPress: () => console.log("Cancel Pressed"),
            style: "cancel"
         },
         { text: "OK",
            onPress: () => console.log("OK Pressed")
         }
      ],
      { cancelable: true }
   );
   return (
      <View style={{flex :1, justifyContent: 'center', margin: 15 }}>
         <Button
            title="Click Me"
            color="#9C27B0"
            onPress={testAlert}
         />
      </View>
   );
}
export default App;

当您点击弹出窗口区域之外时,它将关闭。

输出

更新于: 2021年7月1日

791 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告