发这篇文章希望能帮助更多人。
前段时间再写一个上传视频的功能时,用到了antd中upload组件,然后删除没有任何提示,觉得这样一点没用人性化,所有给他写了个删除方法,但是不起任何作用,先看下最初代码。
handleRemove(e){
Modal.confirm({
title: '操作确认',
content: '是否确认删除?',
okText: '确定',
cancelText: '取消',
onOk(){
//删除视频操作
actionCreators.delSysAnnex(e.uid).then(res => {
if(res.code === 0){
resolve(true);
message.success("删除成功!");
}
});
},
onCancel(){
resolve(false)
},
});
}
//这是最初的代码,但是删除调用时没用起到任何效果。
后来看了官方api,upload在调用删除时,是可以通过true和false来控制返回提示,在总监的提示下,又想到了react的异步调用问题,最终代码成功解决。
async handleRemove(e){
let s= new Promise(function (resolve, reject) {
Modal.confirm({
title: '操作确认',
content: '是否确认删除?',
okText: '确定',
cancelText: '取消',
onOk(){
//删除视频操作
actionCreators.delSysAnnex(e.uid).then(res => {
if(res.code === 0){
resolve(true);
message.success("删除成功!");
}
});
},
onCancel(){
resolve(false)
},
})
});
return await s;
}
我找了很多论坛,百度,Stack Overflow,google都没有找到这个问题解决方案,最后自己解决了,希望这个方法能给更多人带来帮助~~~