element-ui plus 文件上传组件,设置单选,并支持替换和回显

遇到的坑:

1、设置limit属性为1后,on-change属性不生效

2、on-exceed属性虽然值改变,但是回显没有随之变化

3、由于element-ui plus版本file-list值出现问题

最后的解决方案决定不设置 limit 属性,通过 on-change 中的判断来控制数量。

根据网友的说法,element-ui plus 高于 2.2.9 将 :file-list="fileList" 改为 v-model:file-list="fileList"

最终代码:

bash 复制代码
 <el-upload
     ref="uploadRef"
     class="upload-demo"
     :auto-upload="false"
     v-model:file-list="fileList"
     :on-change="handleFileChange"
  >
    <template>
       <el-button type="primary">选择文件</el-button>
       </template>
</el-upload>
bash 复制代码
function handleFileChange (file, files) {
  if (files.length > 1) {
    fileList = [files[files.length - 1]]
  } else {
    fileList = files
  }
}
相关推荐
小大宇2 天前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
切糕师学AI4 天前
el-select-v2 深度解析:用虚拟滚动解决海量数据下拉选择性能瓶颈
前端·vue.js·elementui·el-select-v2
雪芽蓝域zzs1 个月前
第7节:多选模式、自定义选项渲染、受控弹窗显隐
vue.js·elementui
雪芽蓝域zzs1 个月前
第6节:远程搜索弹窗(remote 模式),弹窗滚动加载分页
vue.js·elementui
雪芽蓝域zzs1 个月前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
ss2731 个月前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
雪芽蓝域zzs1 个月前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
雪芽蓝域zzs1 个月前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
雪芽蓝域zzs1 个月前
Vue3 + Element Plus el-select 下拉弹窗
vue.js·elementui
朱 欢 庆1 个月前
el-table 表格组件二次封装
javascript·vue.js·elementui