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给你任何类型的指示用户点击了哪个按钮。您需要将其内置以跟踪用户实际单击的按钮。