微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

elementui中table和dialog中数据回显和校验清空的问题

 父组件table,子组件dialog,为了保证dialog中数据变化,不影响父组件的显示,(为什么会有影响,主要赋值的时候,直接使用“=”的话,对象的引用地址是一样的,所以当dialog变化时,尽快没有保存,但还是会影响table中数据的显示)需要在父组件中,给子组件的传的值进行转换

this.data= JSON.parse(JSON.stringify(row));

子组件中也需要使用watch进行监听,重新赋值

watch: {
        data(val, oldVal){
            this.form = val
        },
    }

关于检验清空的问题出现的原因是:我们在每次新增数据的时候,尽管数据可能都是必填的,但是我们一打开弹窗的时候,还是希望没有检验的,当我们change的时候,再进行数据的检验。而由于我们大部分的时候,编辑的弹窗和新增的弹窗都是同一个,这导致我们在操作完编辑弹窗,在点击新增弹窗的时候,发现数据都进行了检验,其实这个时候是不需要的。

对于这个问题,我的处理方法是,每次关闭弹窗的时候,清空弹窗中的数据,没有打开弹窗的时候,清空校验规则

// 父组件   操作弹窗的时候,清空检验规则
this.$refs.child.clearValidate();
//子组件   每次关闭的时候,数据清空
//清空校验的方法
clearValidate() {
            if(this.$refs.form) {
                this.$refs.form.clearValidate();
            }
},
//清空数据
this.form = {}

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐