ソースを参照

fix: 增加上传前阻断

lilinsen 5 年 前
コミット
62f8c7f50c

+ 4 - 0
src/packages/uploader/demo.vue

@@ -5,6 +5,7 @@
       <nut-cell>
         <span slot="title">
           <nut-uploader
+            :beforeUpload="test"
             :name="name"
             :url="url"
             :xhrState="stateNum"
@@ -151,6 +152,9 @@ export default {
     };
   },
   methods: {
+    test(event){     
+      return event
+    },
     demo1UploadStart() {
       this.demo1Name = "上传中...";
       this.progressNum1 = 0;

+ 21 - 4
src/packages/uploader/uploader.vue

@@ -51,7 +51,10 @@ export default {
     },
     changeEvtCallback: {
       type: Function
-    },
+	},
+	beforeUpload:{
+		type: Function
+	},
     xhrState: {
       type: Number,
       default: 200
@@ -115,9 +118,8 @@ export default {
         }
       };
     },
-    upload($event) {
+    uploadData($event){
       const tar = $event.target;
-
       if (!this.url) {
         this.$emit("showMsg", "请先配置上传url");
         this.$emit("afterChange", tar, $event);
@@ -156,8 +158,23 @@ export default {
         this.$emit("showMsg", msg);
       };
       new Uploader(opt);
-
       this.$emit("afterChange", tar, $event);
+    },
+    async upload($event) {
+		debugger
+      if(typeof this.beforeUpload === 'function'){	  
+		
+		let promise =new Promise((reslove,reject)=>{
+			reslove(this.beforeUpload($event))
+		})
+
+		let resData = await promise;
+
+		this.uploadData(resData)			
+      }else{
+		  this.uploadData($event)
+      }
+      
     }
   }
 };

+ 0 - 1
src/utils/uploader.js

@@ -41,7 +41,6 @@ class IdaUploader {
        }
    }
    check (file) {
-       debugger
        if(Array.isArray(file)){           
            for(let key in file){
                 if (this.options.maxSize && (file[key].size > this.options.maxSize)) {