el-upload 点击上传按钮前先判断条件满足再弹选择文件框

解决思路:

先写一个上传按钮,点击上传按钮后判断条件是否满足,满足则显示上传组件并使用ref来控制点击事件,隐藏自身。

注:上传成功或者上传失败时或者上传前判断条件添加不满足return将this.isShow = true

代码部分:

<el-date-picker v-model="orderTime" type="month" format="yyyy-MM" value-format="yyyy-MM" placeholder="选择月">

</el-date-picker>

<el-button class="btn-def" v-if="isShow" @click="importExcel">批量导入</el-button>

<el-upload v-show="!isShow" class="upload-demo" ref="enclosureUpload" :file-list="fileList" accept=".xlsx" action :multiple="true"

:show-file-list="false" :auto-upload="false" :on-change="handleFileChange" :limit="1" :on-exceed="handleExceed">

<el-button type="info" class="btn-def">

批量导入

</el-button>

</el-upload>
// 批量导入

importExcel(){

if(!this.orderTime){

this.$message.error("请选择月份");

this.isShow = true

}else{

this.isShow = false

this.$nextTick(() => {

if (this.$refs.enclosureUpload) {

// 直接找到 input 元素并触发点击事件

const input = this.refs.enclosureUpload.el.querySelector('input[type="file"]');

if (input) {

input.click();

}

}

});

}

},

相关推荐
不会敲代码12 小时前
解密JavaScript内存机制:从执行上下文到闭包的全景解析
javascript
用户5757303346242 小时前
🌟 从一行 HTML 到屏幕像素:浏览器是如何“画”出网页的?
前端
NEXT062 小时前
React Hooks 进阶:useState与useEffect的深度理解
前端·javascript·react.js
sure2822 小时前
React Native应用中使用sqlite数据库以及音乐应用中的实际应用
前端·react native
CHU7290352 小时前
扭蛋机盲盒小程序前端功能设计解析:打造趣味与惊喜并存的消费体验
前端·小程序
前端布道师2 小时前
Web响应式:列表自适应布局
前端
ZeroTaboo2 小时前
rmx:给 Windows 换一个能用的删除
前端·后端
哈里谢顿2 小时前
Vue 3 入门完全指南:从零构建你的第一个响应式应用
vue.js
李剑一3 小时前
Vue实现大屏获取当前所处城市及当地天气(纯免费)
前端
踢足球09293 小时前
寒假打卡:2026-2-7
java·开发语言·javascript