我是 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。结论:不知道为什么
type
是 Alert
的第四个参数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/