ElementUI upload弹出两次文件选择
ElementUI的<el-upload>
组件在使用时可能会出现两次文件选择弹窗的情况。这通常是因为触发了两次点击事件,可能是因为代码或者是组件的某些交互导致的。
解决方法:
- 检查是否不小心绑定了两次点击事件。
- 确保
<el-upload>
组件的:on-preview
和:on-remove
属性没有引发额外的点击事件。 - 如果使用了自定义的上传列表,确保列表组件的交互没有导致问题。
- 检查是否有其他CSS或JavaScript影响了
<el-upload>
组件的行为。 - 如果以上都不适用,尝试更新ElementUI到最新版本,或者检查是否是ElementUI的Bug,可以在GitHub上查看相关问题或提出新的问题。
示例代码:
<template>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handlePreview(file) {
console.log('Preview:', file);
},
handleRemove(file, fileList) {
console.log('Remove:', file, fileList);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
handleExceed(files, fileList) {
this.$message.warning(`最多只能上传 ${this.limit} 个文件!`);
}
}
};
</script>
在这个示例中,我们创建了一个简单的文件上传组件,并且绑定了必要的方法来处理文件的预览、移除和超出限制的情况。通过这个示例,开发者可以看到一个标准的上传组件使用方法,并且可以通过对比找到问题所在。
评论已关闭