el-upload 上传-------表单校验成功后再触发上按钮

 通过校验,再上传


<el-form ref="form" :model="data" :rules="formIndustryules"  >
    <el-form-item label="name" prop="name">
         <el-input v-model="data.name"></el-input>
    </el-form-item> 
    <el-form-item class="form-button-center"> 
        <!-- disabled 在下方用来阻止弹框弹出 -->
        <el-upload
            class="uploadButton"
            :disabled="disabled"
            ref="uploadref"
            :action="actionUrl.importUrl"
            :on-error="handleError"
            :on-success="handleUpload"
            :before-upload="beforeUpload"
            :show-file-list="false"
            :data="formIndustrydata"
            :headers="{ Authorization: token }"
            :with-credentials="true"
        >
            <el-button type="primary" @click="handelUploadClick">去导入</el-button>
        </el-upload> 
    </el-form-item>
</el-form>
<script> 
export default { 
  
    data() {
        return {
            data: { 
            },
            formIndustryules: {
                name: [{ required: true, message: '不能为空', trigger: 'blur' }],
            },   
            // 上传路径
            actionUrl: { 
                importUrl:  `/file/upload`,
                exportUrl: '',
            },  
            disabled: false,
        };
    },
    methods: {
        handelUploadClick() {//------校验
            this.$refs.formIndustrydata.validate(async valid => {
                if (valid) { 
                    console.log('成功');
                } else { 
                        //失败就阻止文件选择框弹出,disabled 绑定到el-upload上
                     this.disabled = true;
                     setTimeout(() => {
                         this.disabled = false;
                     }, 0); 
                     return false; 
                }
            });
        },
        beforeUpload(file) { 
            const FILE_NAME = file.name;
            if (FILE_NAME.substring(FILE_NAME.lastIndexOf('.')) !== '.xls' && FILE_NAME.substring(FILE_NAME.lastIndexOf('.')) !== '.xlsx') {
                this.$message.warning({ message: '仅支持.xls和.xlsx文件' });
                return false;
            }
            this.paramformloading = true;
        },
        handleError(error, file) {
            console.log(456, error, file);
            this.$message.error({ message: '文件格式错误,请联系管理员' });
        },
        handleUpload(response) {
            console.log(response);
            if (response.code != 200) {
                this.$message.error({ message: response.message });
            } else {
                this.$message.success({ message: '导入成功' });
                this.getSkuparam();
            }
        },
       
    },
};
</script>
       
    },
};
</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值