• 使用Vue.extend实现iview Upload在单文件上传时,拖拽多个文件给出错误提示


    1. 扩展Select组件,注册新的组件(global-components.js文件中进行)

    import Vue from 'vue';
    import { Upload } from 'view-design';
    
    // 扩展组件
    // 拖拽文件上传时检测文件个数(单文件上传,拖拽大于一个报错)
    const MyUpload = Vue.extend(Upload).extend({
      methods: {
        onDrop(e) {
          this.dragOver = false;
          if (this.itemDisabled) { return; }
          /* -- 新加 -- */
          if (!this.multiple && e.dataTransfer.files.length > 1) {
            this.$emit('onFileNumberError');
            return;
          } 
          /* -- end -- */
          this.uploadFiles(e.dataTransfer.files);
        },
      },
    });
    
    // 注册全局组件
    Vue.component('my-upload', MyUpload);
    
    

    2. main.js中引入上个文件

    import "@/components/global-components";
    ···
    

    3. 使用

    <template>
          <my-upload @onFileNumberError="onFileNumberError">
                
          </my-upload>
    </template>
    <script>
    export default {
          methods: {
                onFileNumberError() { this.$Message.error('一次只能上传单个文件') }
          }
    }
    </script>
    

    用法和原Upload一样,只是多了onFileNumberError用于拖拽多个时报错

  • 相关阅读:
    docker study
    安卓学习征文 -- 自己定义标题栏
    ftp server来源分析20140602
    poj1251--Kruskal
    cocos2d-x 3.0rc1 创建project
    创建序列和相应的视图
    华为OJ: 公共字符串计算
    LeetCode:Minimum Depth of Binary Tree
    webservice发送字符串
    高德地图由哪几部分组成
  • 原文地址:https://www.cnblogs.com/XHappyness/p/14173776.html
Copyright © 2020-2023  润新知