Vue自定义组件使用Element-ui表单校验

Vue自定义组件使用Element-ui表单校验

一般情况下(form中的组件都是element提供的组件)在使用elm的表单校验时我们是这么使用的:

// 栗子.vue
<template>
    <el-form :model="formData" :rule="rules" ref="formRef">
        <el-form-item prop="inputValue">
            <el-input v-model="formData.inputValue"></el-input>
        </el-form-item>
        <el-form-item>
            <el-button @click="submit">提交</el-button>
        </el-form-item>
    </el-form>
</template>
<script>
export default {
   
    .......省略
    data() {
   
        return {
   
            formData: {
   
                inputValue: ''
            },
            rules: {
   
                inputValue: [
                    {
    required: true, message: '请输入活动名称', trigger: 'blur' },
                ]
            }
        }
    },
    methods: {
   
        submit() {
   
            this.$refs.formRef.validate((valid) => {
   
              if (valid) {
   
                alert('submit!');
              } else {
   
                console.log('error submit!!');
                return false;
              }
            });
        }
    }
}
</script>   

但是当我们在<el-form-item>组件中添加自定义的组件时,你还继续按照上面这中用法是无效的,翻阅element-ui源码就能发现其中原因。

element-ui的form组件的表单验证是由<el-form-item>组件配合触发的,在el-form-item中的源码如下:

// el-form-item源码
mounted() {
   
    if (this.prop) {
   
        this.dispatch('ElForm&
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值