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
提交
取消