1. 程式人生 > 其它 >關於自定義表單元件,然後validate有問題的

關於自定義表單元件,然後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 元件查詢】筆記,其實也可以用事件分發的,但是當時試了,好像並沒有效果,理論上是可行的,但是沒成功,有時間的朋友可以試試。