在iview中使用upload组件上传文件之前先做其他的处理

复制代码
<template>
  <div style="padding:50px;">
    <Button style="width:150px;" type="primary" @click="beforeUpload">上传</Button>
    <Upload ref="upload"
        action="//jsonplaceholder.typicode.com/posts/"
        :on-success="successHandle"
        :data="uploadParams"
    >
    </Upload>

    <Modal v-model="show" title="上传前请先选择地域">
      <Select v-model="city" placeholder="Select your city">
        <Option value="beijing">New York</Option>
        <Option value="shanghai">London</Option>
        <Option value="shenzhen">Sydney</Option>
      </Select>

      <!--   不能用Modal默认的提交,不然做不了校验,@on-ok="selectedCity"   -->
      <template  #footer>
        <Button @click="show=false">取消</Button>
        <Button type="primary" @click="selectedCity">确定</Button>
      </template>
    </Modal>
  </div>
</template>

<script>
export default {
  name: "beforeUpload",
  data() {
    return {
      uploadParams:{},  // 上传接口需要带的参数
      show:false,
      city:"",    // 上传前需要选择城市
    }
  },
  methods:{
    successHandle() {},
    beforeUpload() {
      this.show = true;
      this.city = "";
    },
    selectedCity() {
      if(this.city) {
        this.show = false;
        this.$refs.upload.handleClick();      // 使用这个方法
      } else {
        this.$Message.warning("请选择城市")
        this.show = true;
      }
    }
  }
}
</script>

<style scoped>

</style>

通过ref来 this.$refs.upload.handleClick(); // 使用这个方法

GIF 2024-1-5 23-56-27.gif
© 著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务

相关推荐
菜鸟233号27 分钟前
力扣647 回文子串 java实现
java·数据结构·leetcode·动态规划
Charlie_lll30 分钟前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
qq_124987075333 分钟前
基于Java Web的城市花园小区维修管理系统的设计与实现(源码+论文+部署+安装)
java·开发语言·前端·spring boot·spring·毕业设计·计算机毕业设计
h7ml41 分钟前
查券返利机器人的OCR识别集成:Java Tesseract+OpenCV优化图片验证码的自动解析方案
java·机器人·ocr
野犬寒鸦43 分钟前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
Volunteer Technology1 小时前
Sentinel的限流算法
java·python·算法
VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
岁岁种桃花儿1 小时前
SpringCloud从入门到上天:Nacos做微服务注册中心
java·spring cloud·微服务
jdyzzy1 小时前
什么是 JIT 精益生产模式?它与传统的生产管控方式有何不同?
java·大数据·人工智能·jit
Chasmれ1 小时前
Spring Boot 1.x(基于Spring 4)中使用Java 8实现Token
java·spring boot·spring