react-native - React Native - "type"在警报组件方法上是什么意思?

标签 react-native alert

我是 React Native 的新手,当我读到 Alert 时组件,我见过关于 alert方法 static alert(title, message?, buttons?, options?, type?)
facebook 给出的例子:

Alert.alert(
   //Title
  'Alert Title',
   //Message
  'My Alert Msg', 
   //Button
  [
    {text: 'Ask me later', onPress: () => console.log('Ask me later pressed')},
    {text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
    {text: 'OK', onPress: () => console.log('OK Pressed')},
  ],
   //Options
  { cancelable: false } 
)

并且没有关于什么是 type 的例子做,有人可以告诉我那些是什么type ?

有没有办法显示 Alert没有 Title ?

最佳答案

我阅读了源代码,发现 type是一个定义为的字符串:

type AlertType = "default" | "plain-text" | "secure-text" | "login-password";

但是,我尝试了所有这些,我没有看到任何区别。因此,我猜测:也许它仅适用于 Android,而不适用于 iOS,但发现 Alert在 Android 中定义为:
export interface AlertAndroidStatic {
    alert: (
        title: string,
        message?: string,
        buttons?: AlertButton[],
        options?: AlertOptions
    ) => void;
}

哪里type不接受参数。然后,我继续阅读另一个类似的 iOS React Native API,仅称为 AlertIOS , 有 2 种用法,第一,与 Alert 相同API,您只需
AlertIOS.alert(title, message, buttons, type)

但评论说:

@param type Deprecated, do not use


AlertIOS的第二次使用是:
AlertIOS.prompt(title, message, buttons, type, defaultValue)

您在此处提示用户输入的地方,参数 type有效,如果您希望用户以纯文本形式输入一行,则type应该是“纯文本”,如果是安全文本中的一行,则是“安全文本”,如果是登录凭证,则 type应该是“登录密码”。请注意,对于 Android,您无法使用 Alert 提示用户输入, 和 AlertIOS仅适用于 iOS。

结论:不知道为什么typeAlert 的第四个参数API,对于Android,这个参数被简单地忽略,对于iOS,这个参数没有任何区别。我的 猜测就是说,在 React Native 刚出来的早期,他们并没有写一个 API 叫 AlertIOS ,相反,他们只有 Alert .由于提示用户输入适用于 iOS 设备但不适用于 Android 设备,因此他们输入了 type作为第四个参数,但如果应用程序在 Android 设备上运行,则忽略它。随着时间的推移,他们开发了一个名为 AlertIOS 的 API。 ,专门用于 iOS 警报,但尚未弃用 type参数呢。无论如何,只需忽略参数。

回答你的另一个问题:有没有办法在没有标题的情况下显示警报?

是的,如果您不想要标题或消息,只需通过 null到 API 调用。

关于react-native - React Native - "type"在警报组件方法上是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619829/

相关文章:

android - Firebase google auth 自动选择用户。如何强制它弹出 Gmail 帐户

javascript - 删除 "if"语句中的警报

php - 将字符串从 PHP 传递到 anchor 标记的 onclick 处理程序

javascript - AJAX 数据包含一个或多个单词..?

iOS Swift - 带有页面的警告对话框

react-native - 在列表中按下时更改一个按钮颜色

android - 单击通知时应用程序未恢复

javascript - 在 React Native 中设置背景颜色动画

react-native - TextInput 中每次按键后键盘都会关闭

java - 如何在javascript中显示java变量?