warisFairy 2023-03-22 14:27 采纳率: 44.4%
浏览 20
已结题

动态中的el-upload 中的自定义方法

动态中的el-upload 中的自定义方法
如何判断是在哪个组件点击的它

img

img

<el-form-item label="附件信息" prop="file">
                <el-upload
                  class="upload-demo"
                  ref="upload"
                  multiple
                  :accept="accept"
                  action=""
                  :with-credentials="true"
                  :http-request="httpRequest"
                  :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">
</el-upload> </el-form-item>

它们都是共用了一个方法httpRequest
在提交表单的时候同时上传文件

          let arr = this.editableTabs;
          for (let i = 0; i <arr.length; i++) {
            this.$refs['upload'][i].submit();//这里自定义调用上传文件
          }
          let url = process.env.VUE_APP_BASE_API + '/job/create/commit/'
          let config = {
            headers: {
              'Content-Type': 'multipart/form-data',
              'Authorization': 'Bearer ' + getToken()
            }
          }
          this.$axios.post(url, this.fd, config).then(res => {...

问题一 现在只是触发了一次并且俩个tab的上传的文件合在一起上传了
可能是这里方法不对
原本应该实现的是每一个tab的每一个附件上传文件后 在表单提交的时候同时调用 应该是调用两次

this.$refs['upload'][i].submit();//这里自定义调用上传文件

问题二 每次的参数不一样

type:'tab1',
file:’上传的文件'

type:'tab2',
file:’上传的文件'

应该问题出现在这里

    httpRequest(param) {
      this.fd.append('file',param.file)
    },

但是httpRequest是共用的一个方法 而且好像还传不了其它参数

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-22 16:43
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 3月22日