Vue循环组件加验证多表单验证的实例

  

        & lt; template>   & lt; div类=" hello world "比;   & lt; el-button类型=拔谋尽盄click=敖谠甲爸谩崩?鞍磁ァ弊4荢AVE   & lt; promise-father ref=" promiseFather "祝辞& lt;/promise-father>   & lt;/div>   & lt;/template>   & lt; script>   从“进口PromiseFather。/PromiseFather '   出口默认{   名称:“HelloWorld”,   组件:{PromiseFather},   数据(){   返回{   promiseFather:“   }   },   方法:{   节约装置(){   refs.promiseFather美元。validate(有效=比;{   如果(有效){   message.success美元。(“(^ ^)啊~验证成功!”)   其他}{   美元的消息。错误(“_——验证失败!”)   }   })   }   }   }   & lt;/script>   & lt; scoped>风格;   .button {   位置:绝对的;   上图:60 px;   左:660 px;   }   & lt;/style>      

        & lt; template>   & lt; div类=皃romise-father”比;   & lt; h3>{{标题}}   & lt; el-button类型=拔谋尽盄click==鞍磁ァ薄疤砑印崩嗟脑谔砑? lt;/el-button>   & lt;/h3>   & lt; div)=?项目、索引)validateSet”:关键=癷tem.id”比;   & lt; promise-child ref=皃romiseChild”: formData=" https://www.yisu.com/zixun/item ":指数=爸甘盄remove=吧境弊4? lt;/promise-child>   & lt;/div>   & lt;/div>   & lt;/template>   & lt; script>   进口uuid uuid的   从“@/组件/导入PromiseChild PromiseChild”   出口默认{   名称:“PromiseFather”,   组件:{   PromiseChild   },   数据(){   返回{   标题:“为什么!”mtw’,   promiseChild:”,   validateSet: []   }   },   方法:{   验证(回调){   如果这一点。validateSet,,this.validateSet。长度比;0){   const promiseList=[]   refs.promiseChild美元。forEach((项目、索引)=比;{   promiseList.push (item.validate ())   })   Promise.all (promiseList)(()=比;{   回调(真)   }).catch(()=比;{   回调(假)   })   其他}{   回调(真)   }   },   add () {   this.validateSet.push ({   名称:”,   电话:”,   id: uuid.v4 ()   })   },   删除(num) {   this.validateSet。拼接(num, 1)   }   }   }   & lt;/script>   & lt; scoped>风格;   .index {   margin-left: -546 px;   }   .button {   margin-left: 60 px;   }   & lt;/style>      

        & lt; template>   & lt; div类=皃romise-child”比;   & lt; el-form:模型=靶问健眗ef=靶问健?规则=癴ormRules”:内联=" true "标签位置=罢贰北?   & lt; el-form-item: label=" ${指数+ 1}' + ','”比;   & lt;/el-form-item>   & lt; el-form-item标签="姓名“道具=皀ame”比;   & lt; el-input v模型=" form.name "大?靶 弊4? lt;/el-input>   & lt;/el-form-item>   & lt; el-form-item标签="手机”道具=暗缁啊北?   & lt; el-input v模型="的形式。手机大?"小"祝辞& lt;/el-input>   & lt;/el-form-item>   & lt; el-form-item>   & lt; el-button @click="删除"大?靶 痹谏境? lt;/el-button>   & lt;/el-form-item>   & lt;/el-form>   & lt;/div>   & lt;/template>   & lt; script>   进口uuid uuid的   出口默认{   名称:“PromiseChild”,   道具:{   formData:对象,   指数:数量   },   数据(){   返回{   形式:{   名称:”,   电话:”,   id: uuid.v4 ()   },   formRules: {   名称:[   {要求:真实、消息:“请输入姓名!”,触发:“模糊”}   ],   电话:(   {要求:真实、消息:“请输入手机号码”,触发:“模糊”},   {马克斯:11日消息:“长度不能超过11”,触发:“模糊”},   {   验证器(规则、价值回调):=比;{   如果(值){   让regPhone=/^ (13 [0 - 9] 15 18 [0123456789] [012356789] | | | 147 | 145 | 17 [0 - 9]) \ d{8}/美元   如果(regPhone.test(值)){   回调()   其他}{   回调(“请输入正确的手机号码!”)   }   其他}{   回调(“请输入手机号码!”)   }   }   }   ]   }   }   },   方法:{   validate () {   返回新的承诺((解决,拒绝)=比;{   refs.form美元。validate(有效=比;{   如果(有效){   解决()   其他}{   拒绝()   }   })   })   },   remove () {   这一点。发出(“删除”,this.index)美元   }   }   }   & lt;/script>

Vue循环组件加验证多表单验证的实例