我是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
?
答案 0 :(得分:3)
我阅读了源代码,发现type
是一个字符串,定义为:
type AlertType = "default" | "plain-text" | "secure-text" | "login-password";
然而,我尝试了所有这些,我没有看到任何差异。因此,我猜测:也许只适用于Android,而不是iOS,但发现Android中的Alert
定义为:
export interface AlertAndroidStatic {
alert: (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions
) => void;
}
不接受type
param。然后,我继续阅读另一个名为AlertIOS
的类似反应原生API for iOS,它有2个用法,第一个,与Alert
API相同,你只需
AlertIOS.alert(title, message, buttons, type)
但评论说:
@param type不推荐使用,不要使用
AlertIOS
的第二次使用是:
AlertIOS.prompt(title, message, buttons, type, defaultValue)
在你提示用户输入的地方,这里,param type
有效,如果你想让用户用纯文本输入一行,那么type
应该是"纯文本&#34 ;如果安全文本中有一行,那么"安全文本",如果它是登录凭据,那么type
应该是" login-password"。请注意,对于Android,您无法使用Alert
提示用户输入,而AlertIOS
仅适用于iOS。
结论:我不知道为什么type
是Alert
API的第4个参数,对于Android,这个参数被简单地忽略了,而对于iOS,这个参数没有& #39; t有所不同。我的猜测是,在本土刚出现的早期,他们没有编写名为AlertIOS
的API,相反,他们只有Alert
。由于提示用户输入可用于iOS设备但不适用于Android设备,因此他们将type
作为第4个参数,但如果应用程序在Android设备上运行则忽略它。随着时间的推移,他们制作了一个名为AlertIOS
的API,专门针对iOS提醒,但还没有弃用type
param。无论如何,只需忽略参数。
回答你的另一个问题:有没有办法在没有标题的情况下显示警报?
是的,如果您不想要标题或消息,只需将null
传递给API调用。
答案 1 :(得分:-2)
export interface AlertAndroidStatic {
alert: (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions
) => void;
}