关于自定义表单组件,然后validate有问题的

用的是Element-UI
需求是当时需要自己写个树形下拉框的组件,但是刚好用于form表单提交的,然后发现这个自己写的组件,触发验证会有一些问题,明明填写了值,但是验证提示没有填写值,但是也不影响提交,强迫症啊,需要解决,所以百度了一下,然后大致总结了一下,就是自定义组件在失去焦点的时候自己要调用一下form的validate,代码:

validate() {
    const formItem = findComponentUpward(this, "ElFormItem");
    if (formItem) {
        const prop = formItem.prop;
        const form = formItem.form;
        if (prop && form) {
            form.validateField(prop);
        }
    }
},

这个代码我是在自定义组件的,下拉面板关闭以后调用了一下,至于时机根据个人情况,findComponentUpward查找上级组件,参考【我的Vue 组件查找】笔记,其实也可以用事件分发的,但是当时试了,好像并没有效果,理论上是可行的,但是没成功,有时间的朋友可以试试。

posted @   哦哈呦  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示