warisFairy 2023-03-20 14:25 采纳率: 45.1%
浏览 206
已结题

this.$refs.upload.submit is not a function

this.$refs.upload.submit is not a function

vue 动态el-tab-pane遇到el-upload出现问题

应该是ref不能写死

在动态el-tab-pane中该怎么去处理el-upload的问题 而且文件应该是区分的

img

  • 写回答

1条回答 默认 最新

  • MarkHan_ 2023-03-20 14:31
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    根据您提供的代码片段,问题可能是由于this.$refs.upload返回了undefined,因此无法调用submit()函数。

    您可以尝试在标签中添加ref属性,例如:

    <el-upload class="upload-demo" ref="upload" multiple :accept="accept" action="" :with-credentials="true" :http-request="httpRequest" :on-change="fileChange" :file-list="fileList" :auto-upload="false">
      <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
      <div slot="tip" class="el-upload_tip" style="display: inline-block;margin-left: 20px"></div>
    </el-upload>
    
    

    然后在调用submit()函数之前,您可以添加一个条件检查,以确保this.$refs.upload不为undefined。例如:

    if (this.$refs.upload) {
      this.$refs.upload.submit();
    }
    
    

    这样做可以确保submit()函数仅在this.$refs.upload存在时才被调用。

    至于动态el-tab-pane中的问题,您可以尝试将ref属性设置为动态值,例如:

    <el-upload :ref="'upload' + index" class="upload-demo" multiple :accept="accept" action="" :with-credentials="true" :http-request="httpRequest" :on-change="fileChange" :file-list="fileList" :auto-upload="false">
    
    

    然后在调用submit()函数时,使用动态生成的ref属性值来访问组件,例如:

    this.$refs['upload' + index].submit();
    
    

    这样做可以确保每个组件都有唯一的ref属性值,可以正确地访问每个组件。

    希望这些解决方案对您有所帮助!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月21日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化