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