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