zoukankan      html  css  js  c++  java
  • Vue element-ui父组件控制子组件的表单校验

    父组件代码:

    <template>
    <div>
    <child-form ref="childRules" :addForm="addForm" > </child-form>

    <el-button @click="saveForm()" size='medium'>保 存</el-button>

    </div>
    </template>
    <script>
    import childForm from './childForm'
    export default {
    data(){
    return {
    addForm: {
    name:"",
    desc: ""
    },
    }
    },
    //组件引用
    components: {
    childForm
    },
    methods:{
    //保存校验
    saveForm() {
    let flag = this.$refs['childRules'].validateForm();
    if(flag){
    console.log(this.addForm);


    }else{
    this.$message.error('保全信息不完整,请继续填写完整');
    }
    },
    }
    }
    </script>

    子组件代码

    <!-- -->
    <template>
    <div class="form-content">
    <el-form :model="addForm" :inline="true" :rules="formRules" ref="ruleForm"
    size='mini' label-width="120px" class="form-mini">
    <el-form-item label="名字" prop='name'>
    <el-input v-model="addForm.name" ></el-input>
    </el-form-item>
    </el-form>
    </div>
    </template>

    <script>
    export default {
    name: '',
    props: {
    addForm: {
    type: Object,
    default: function () {
    return {
    }
    }
    }
    },
    data() {
    //这里存放数据
    return {
    formRules: {
    name: [{
    required: true,
    message: '请输入',
    trigger: 'blur'
    }]
    },
    };
    },
    //监听属性 类似于data概念
    computed: {},
    //监控data中的数据变化
    watch: {},
    //过滤器
    filters: {},
    //方法集合
    methods: {
    //子组件校验,传递到父组件
    validateForm () {
    let flag = null
    this.$refs['ruleForm'].validate(valid => {
    if (valid) {
    flag = true
    } else {
    flag = false
    }
    })
    return flag
    }
    }
    }

    </script>
    <style lang='less'>
    </style>

  • 相关阅读:
    xshel链接linuxl安装nginx
    nginx学习笔记
    sweiper做一个tab切换
    bootstrap中tab切换的使用
    pc页面自动缩放到手机端
    日程表
    页面嵌套iframe时,怎样让iframe高度根据自身内容高度自适应
    mysql5.7版本以上下载安装
    电脑快捷键操作汇总
    关于.eslintrc.js代码检测的一些配置
  • 原文地址:https://www.cnblogs.com/yoututu/p/15425274.html
Copyright © 2011-2022 走看看