& 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循环组件加验证多表单验证的实例