获取el-disable弹框 中,el-upload对象,并清空列表,始终无法获取到ref的原因

java 复制代码
   <!-- 添加或修改服务器管理对话框 -->
    <el-dialog :title="title" v-model="open" width="800px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="100px">


        <el-form-item label-position="right" label="上传图片" prop="text">
          <el-upload
              ref="uploadPictureModel" :file-list="form.pictureShow"
                     :action="baseURL+uploadPath"
                     :headers="uploadHeader"
                     show-file-list
                     :limit="1"
                     :on-exceed="handleExceed"
                     :on-success="setPicture"
                     :on-remove="handleRemove"
                     :before-upload="checkFileType"
                     list-type="picture">
            <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
            <div class="el-upload__tip">只能上传不超过 2MB 的图片</div>
          </el-upload>
        </el-form-item>
        <el-form-item label-position="right" label="上传视频" prop="text">
          <el-upload ref="uploadVideoModel" :file-list="form.videoShow"
                     :action="baseURL+uploadPath"
                     :headers="uploadHeader"
                     show-file-list
                     accept="video/*"
                     :limit="1"
                     :before-upload="checkFileSize"
                     :on-exceed="handleExceed"
                     :on-success="setPictureVideoShow"
                     :on-remove="handleRemove">
            <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
            <div class="el-upload__tip">只能上传不超过 10MB 的视频</div>
          </el-upload>
        </el-form-item>
        <el-form-item label="文案" prop="advertisingCopy" label-width="100">
          <editor v-model="form.advertisingCopy" show-word-limit :max-length="2000" :min-height="192"/>
        </el-form-item>
      </el-form>
      <div class="dialog-footer">
        <el-button type="primary" :loading="isLoading" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>

以上是弹框内容,但是如果弹框的open 为false 那么就会导致无法获取ref属性。

所以如果想要清空el-uplload上传列表,需要将el-disable弹框显示出来后也就是open=true的时候,再去通过 this.$refs.uploadVideoModel.clearFiles();去清空上传列表。

代码如下:点击新增的时候清空

java 复制代码
  /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.form={}
      this.open = true;
      this.$refs.uploadPictureModel.clearFiles();
      this.$refs.uploadVideoModel.clearFiles();
      this.title = "添加知识科普";
    },
相关推荐
sowhat883 小时前
Vue3+vite+Ts+pinia—第八章 生命周期
vue.js
这是个栗子4 小时前
【Vue代码分析】 import.meta.env.DEV:现代前端工程中的环境变量
前端·javascript·vue.js·环境变量
乌夷7 小时前
Vue.js 3 的设计思路
前端·javascript·vue.js
前端之虎陈随易17 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·vue.js·人工智能·typescript·node.js
格子软件20 小时前
2026年GEO贴牌代理:分布式多级分账状态机源码深度解构
java·vue.js·分布式·vue·geo
之歆20 小时前
Vue商品详情与放大镜组件
前端·javascript·vue.js
奶油mm1 天前
公司技术债堆积如山,我一人之力用 Vue3 偷换了整个前端架构
前端·vue.js
格子软件1 天前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
前端炒粉1 天前
个人简历面经总结二
前端·网络·vue.js·react.js·面试
格子软件1 天前
2026年分布式GEO代理架构:多租户动态数据源隔离与流控源码解构
java·vue.js·人工智能·分布式·架构·vue·geo