【Vue】Element 文件删除问题
Element-ui 文件删除功能
在移除之前添加 before-remove 事件弹出对话框
这个时候我点击确定 需要请求后台接口,后台返回如果没有权限就不能移除文件
beforeRemove(file){this.$confirm(`确定移除 ${ file.name }?`)
}
handleRemove(file, fileList) {
this.$http("地址", {id}).then(res => {
//成功就直接删除了
//失败
})
}
问题:
当我点击确定删除,但是后台返回没有权限,这时候页面文件列表里面也没有这个文件了(真实文件还是在列表里面的,只是在页面上面不展示了)
期望结果:
后台返回没有权限,文件还是还是在页面上展示的
回答
beforeRemove(){ this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 点击确认 发送请求,在请求回调中操作列表数据
}).catch(() => {
// 点击取消,什么也不做!
});
return false // 这一句相当重要!!
}
before-remove
: 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false
或者返回 Promise
且被 reject
,则停止上传
返回一个 false
,然后在on-remove
钩子中处理数据就可以了
跟element-ui,没任何关系的,问题关键是你使用错误造成的,页面的列表操作必须放在服务端正确返回权限后才进行操作,而不是一边操作列表,一边访问服务端;
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// 点击确认 发送请求,在请求回调中操作列表数据
}).catch(() => {
// 点击取消,什么也不做!
});
以上是 【Vue】Element 文件删除问题 的全部内容, 来源链接: utcz.com/a/82547.html