我正在尝试使用sweetalert.js而不是自定义的JS确认。我正在修改下面的代码..
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();
}
})
})我将代码替换为
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按钮后,所需的操作没有完成(这里我想清除页面中的一些数据)……
请帮我渡过难关。
发布于 2020-10-25 18:16:35
您从clearConfirm函数获得了return Promise,并按如下所示使用
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();
}
})
})https://stackoverflow.com/questions/64522471
复制相似问题