当前位置:首页 > 编程笔记 > 正文
已解决

vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法

来自网友在路上 162862提问 提问时间:2023-10-22 04:42:01阅读次数: 62

最佳答案 问答题库628位专家为你答疑解惑

vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法

先看一下效果图(想在表单里动态的增删 form-item,然后添加rules,校验其必填项;

):
在这里插入图片描述

html部分

<div v-for="(item, index) in form.labels" :key="index" class="label"><el-form-item label="名称:":prop="'labels.' + index + '.name'":rules="{required: true, message: '请输入', trigger: 'blur'}"class="middleInput"><el-input v-model.trim="item.name" maxlength="30" placeholder="请输入"></el-input><i class="el-icon-circle-plus-outline icon" v-if="(index === (form.labels.length - 1))" @click.prevent="addKey(item)"></i><i class="el-icon-remove-outline icon" v-if="(form.labels.length > 1)" @click.prevent="removeKey(item, index)"></i></el-form-item><el-form-item label="值:":prop="'labels.' + index + '.value'":rules="{required: true, message: '请输入', trigger: 'blur'}"class="middleInput"><el-input maxlength="100" show-word-limit type="textarea" :rows="3" v-model.trim="item.value" placeholder="请输入"></el-input></el-form-item></div>

js

//data:
form: {labels: [{name: '',value: ''}]
},// methods:
addKey (item) {this.form.labels.push({name: '',value: ''})
},
removeKey (item, index) {this.form.labels.splice(index, 1)
},

注意

核心代码:

:prop="'labels.' + index + '.name'"
:rules="{required: true, message: '请输入', trigger: 'blur'}"
  • prop里的值有格式要求,以本demo为例:“表单属性数组key名 + ‘.’ + 索引值 + ‘.’ + 数组里对象的key名”
  • rules里填写校验不成功触发条件和提示语;
查看全文

99%的人还看了

相似问题

猜你感兴趣

版权申明

本文"vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法":http://eshow365.cn/6-21325-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!