Javascript 对话框取消按钮需要停止浏览器事件
当用户从页面/组件浏览时,我试图显示一个对话框/确认 我有以下对话框组件,当前使用侦听器激发该组件:Javascript 对话框取消按钮需要停止浏览器事件,javascript,dialog,reactjs,Javascript,Dialog,Reactjs,当用户从页面/组件浏览时,我试图显示一个对话框/确认 我有以下对话框组件,当前使用侦听器激发该组件: emptyBasket: function () { basketChannel.publish({ channel: "basket", topic: "emptyBasket", data: { } }); }, 单击要发布的内容: onTabLinkClick: function(e) {
emptyBasket: function () {
basketChannel.publish({
channel: "basket",
topic: "emptyBasket",
data: {
}
});
},
单击要发布的内容:
onTabLinkClick: function(e) {
var url = window.location.href;
var currentRoute = url.substr(url.length - 6)
if(this.state.BasketTotal > 0 && currentRoute != 'basket' ){
basketChannel.publish({
channel: "basket",
topic: "openDialog",
data: {
dialogTitle: 'Warning',
dialogContent: 'You have contacts in your basket, are you sure you want to leave?'
}
});
}
}
然后,“我的对话框”组件中的侦听器会更改状态并显示对话框:
_listenerForDialog: function(data) {
this.setState({
title: data.dialogTitle,
content: data.dialogContent,
visible:true
});
},
这是可行的,但我想添加一个ok和cancel按钮,如果单击cancel按钮,我想停止事件
如何将组件附加到e.Default
我可以像本机浏览器一样工作吗
var confirmDialog = confirm("You have contacts in your basket, are you sure you want to leave?");
if(confirmDialog == false ){
e.preventDefault();
} else{
this.emptyBasket();
}
我正在使用npm包
更新
当前组件中的onClose:
onClose(){
this.setState({
visible:false
});
basketChannel.publish({
channel: "basket",
topic: "emptyBasket",
data: {
}
});
},
提前感谢您的对话框需要包括一个确认按钮和一个取消按钮。然后,您需要捕捉并处理这些按钮上的点击。查看rc对话框的文档,似乎没有一个简单的方法来实现这一点,所以它可能是手动的。看起来有几个替代软件包具有更好的文档和功能,例如感谢回复。rc对话框组件上有一个“onClose”,我已经更新了上面的帖子。我可以让它触发发布,但我不确定如何使用它捕获和处理点击。有什么想法吗?你可以让它启动,但它看起来不像OnClose给你任何类型的指示用户点击了哪个按钮。您需要将其内置以跟踪用户实际单击的按钮。