首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用甜蜜的警告而不是自定义的js confirm,但以错误结束

使用甜蜜的警告而不是自定义的js confirm,但以错误结束
EN

Stack Overflow用户
提问于 2020-10-25 18:03:55
回答 1查看 40关注 0票数 0

我正在尝试使用sweetalert.js而不是自定义的JS确认。我正在修改下面的代码..

代码语言:javascript
复制
clear.addEventListener("click", (e) => {
        
        if(confirm("Warning, this action will remove all the text data as well as your saved starting 
            and ending time")){
            localStorage.removeItem('startTime');
            localStorage.removeItem('endTime');
            window.location.reload();
        } else {
            e.preventDefault();
        }
      })
 })

我将代码替换为

代码语言:javascript
复制
function clearConfirm(message){
        var t=false;
        swal({
            title: "Are you sure?",
            text: message,
            icon: "warning",
            buttons: true,
            dangerMode: true,
            })
            .then((willDelete) => {
            if (willDelete) {
                swal("file has been deleted!", {
                icon: "success",});

                t=true;
            } else {
                swal("Your data is safe!");

                t=false;
            }
        });
        
        if(t==true){
            swal("Your file is safe!");
            return true;
        }else{
            return false;
        }
    }


    clear.addEventListener("click", (e) => {
        
        if(clearConfirm("all the data will get removed")==true){
            localStorage.removeItem('startTime');
            localStorage.removeItem('endTime');
            window.location.reload();
        } else {
            e.preventDefault();
        }
    })

由于自定义js在按下' OK‘按钮时返回值' true’,在按下'Cancel‘按钮时返回值' false’,所以我尝试将甜蜜警报确认放在一个函数中,然后在上面的' if‘语句.But中返回true或false当我运行它时,函数被执行,但它没有返回值,if条件没有移动forward...it只是弹出确认按钮,在按下OK按钮后,所需的操作没有完成(这里我想清除页面中的一些数据)……

请帮我渡过难关。

EN

回答 1

Stack Overflow用户

发布于 2020-10-25 18:16:35

您从clearConfirm函数获得了return Promise,并按如下所示使用

代码语言:javascript
复制
function clearConfirm(message) {
    return swal({
            title: "Are you sure?",
            text: message,
            icon: "warning",
            buttons: true,
            dangerMode: true,
        })
        .then((willDelete) => {
            if (willDelete) {
                swal("file has been deleted!", {
                    icon: "success",
                });

                return true;
            } else {
                swal("Your data is safe!");

                return false;
            }
        });
}

clear.addEventListener("click", (e) => {
    clearConfirm("all the data will get removed").then((deleted) => {
        if (deleted) {
            localStorage.removeItem('startTime');
            localStorage.removeItem('endTime');
            window.location.reload();
        } else {
            e.preventDefault();
        }
    })
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64522471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档