前言
有ABCD四個(gè)表單,提交的時(shí)候同時(shí)校驗(yàn)(是的,后臺(tái)管理系統(tǒng)的需求就是這樣),巧用new promise。
實(shí)現(xiàn)的方法有很多種,我講下自己覺(jué)得比較優(yōu)雅的方式,歡迎各位大大的指正哈。
代碼
let formArr=['formA','formB','formC','formD']//假設(shè)這是四個(gè)form表單的ref var resultArr=[]//用來(lái)接受返回結(jié)果的數(shù)組 var _self=this function checkForm(formName) { //封裝驗(yàn)證表單的函數(shù) var result = new Promise(function(resolve, reject) { _self.$refs[formName].validate((valid) => { if (valid) { resolve(); } else { reject() } }) }) resultArr.push(result) //push 得到promise的結(jié)果 } formArr.forEach(item => { //根據(jù)表單的ref校驗(yàn) checkForm(item) }) Promise.all(resultArr).then(function() { //都通過(guò)了 alert('恭喜你,表單全部驗(yàn)證通過(guò)啦') }).catch(function() { console.log("err"); });
總結(jié)
以上所述是小編給大家介紹的Vue ElementUi同時(shí)校驗(yàn)多個(gè)表單(巧用new promise),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com