Element-ui 文件刪除功能在移除之前添加 before-remove 事件彈出對話框這個時候我點擊確定 需要請求后臺接口,后臺返回如果沒有權限就不能移除文件beforeRemove(file){ this.$confirm(`確定移除 ${ file.name }?`)
}
handleRemove(file, fileList) { this.$http("地址", {id}).then(res => { //成功就直接刪除了
//失敗
})
}問題:當我點擊確定刪除,但是后臺返回沒有權限,這時候頁面文件列表里面也沒有這個文件了(真實文件還是在列表里面的,只是在頁面上面不展示了)期望結果:后臺返回沒有權限,文件還是還是在頁面上展示的
2 回答
搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
跟element-ui,沒任何關系的,問題關鍵是你使用錯誤造成的,頁面的列表操作必須放在服務端正確返回權限后才進行操作,而不是一邊操作列表,一邊訪問服務端;
this.$confirm('此操作將永久刪除該文件, 是否繼續?', '提示', {
confirmButtonText: '確定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => { // 點擊確認 發送請求,在請求回調中操作列表數據
}).catch(() => { // 點擊取消,什么也不做!
});
湖上湖
TA貢獻2003條經驗 獲得超2個贊
正確姿勢:
beforeRemove(){ this.$confirm('此操作將永久刪除該文件, 是否繼續?', '提示', { confirmButtonText: '確定', cancelButtonText: '取消', type: 'warning'
}).then(() => { // 點擊確認 發送請求,在請求回調中操作列表數據
}).catch(() => { // 點擊取消,什么也不做!
}); return false // 這一句相當重要??!}before-remove: 刪除文件之前的鉤子,參數為上傳的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,則停止上傳
返回一個 false,然后在on-remove鉤子中處理數據就可以了
添加回答
舉報
0/150
提交
取消
