插件Bootstrap文件输入和SweetAlert2
存在一些问题这是为了显示一个对话框,以确认用户是否真的想要继续删除文件。
如果我要中止删除文件,我需要为filepredelete事件返回一个布尔值。该函数是同步的,但我使用带有promise的异步插件SweetAlert2。
这是我的代码:
$("#gallery-images").fileinput({
...
}).on("filepredelete", function(event, key, jqXHR, data) {
swal({
title: 'Are you sure you want to delete this image?',
showCancelButton: true,
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning',
}).then((result) => {
if(result.value){
return false;
}
return true;
});
});
我无法找到等待确认的方法。我想的是只是总是中止删除,只是在用户确认时手动删除文件。我需要重构我的代码。
答案 0 :(得分:0)
尝试诺言,我已经在同一个问题上苦苦挣扎了3天,并弄清楚了,希望对您有所帮助。
$("#gallery-images").fileinput({
...
}).on("filepredelete", function(event, key, jqXHR, data) {
return new Promise(function(resolve, reject) {
swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this file!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, keep it'
}).then((result) => {
if (result.value) {
resolve();
}
});
});
});
欢迎大家!