在iview中使用upload組件上傳文件之前先做其他的處理

<template>
  <div style="padding:50px;">
    <Button style="width:150px;" type="primary" @click="beforeUpload">上傳</Button>
    <Upload ref="upload"
        action="http://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
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容