[英]Prevent react-native alert dismiss onPress button
我有一個react-native
警報如下。 我想要實現的是防止警報框關閉onPress
並延遲警報框關閉。
如何使用內置於 Alert 組件的 react-native來實現這一點?
我假設有一個內置的preventAlertBoxDismiss()
和dismissAlert()
函數,但在文檔中找不到。
1) 防止警告框在按下按鈕時關閉
onPressAskMeLater = () => {
preventAlertBoxDismiss();
anyAction();
}
2)延遲警報框關閉
onPressAskMeLater = () => {
preventAlertBoxDismiss();
setTimeOut(3000);
dismissAlert();
}
警報代碼
Alert.alert(
'Alert Title',
'My Alert Msg',
[
{text: 'Ask me later', onPress: () => this.onPressAskMeLater()},
{text: 'OK'},
],
{cancelable: false},
);
系統不支持該方法。 它屬於本機 UI 組件。 您可以使用該組件來實現對話框。 這樣,您就可以控制對話框關閉。
同時,您還可以使用第三個庫。 例如react-native-dialog
。
將其用作以下內容:
<View>
<TouchableOpacity onPress={this.showDialog}>
<Text>Show Dialog</Text>
</TouchableOpacity>
<Dialog.Container visible={this.state.dialogVisible}>
<Dialog.Title>Account delete</Dialog.Title>
<Dialog.Description>
Do you want to delete this account? You cannot undo this action.
</Dialog.Description>
<Dialog.Button label="Cancel" onPress={this.handleCancel} />
<Dialog.Button label="Delete" onPress={this.handleDelete} />
</Dialog.Container>
</View>
....
showDialog = () => {
preventAlertBoxDismiss();
setTimeOut(3000);
dismissAlert();
this.setState({ dialogVisible: true });
};
在showDialog
方法中,您可以延遲對話框關閉。 因為它的顯示和解除由您自己的狀態控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.