vue element 动态增加表单并进行表单验证

表单验证:
需要注意的一点是:
普通表单验证单项依靠的是prop…而动态生成的表单要用:prop
书写的语法是:prop="‘moreNotifyObject.’ + index +’.notifyobject’",moreNotifyObject是v-for绑定的数组,index是索引,notifyobject是表单绑定的v-model的名称,然后用.把他们链接起来。
所以总结起来的语法就是:prop="‘v-for绑定的数组.’ + index + ‘.v-model绑定的变量’"
还有一个需要注意就是v-for的写法,要将表单的model名写进去
<div class="moreRulesIn" v-for="(item, index) in addForm.moreNotifyObject" :key="item.key">
<template>
<div>
<el-form ref="form" :model="addForm" label-width="80px">
<div class="moreRules">
<div
class="moreRulesIn"
v-for="(item, index) in addForm.moreNotifyObject"
:key="item.key"
>
<el-row>
<el-col :span="6">
<el-form-item
label="field"
:prop="'moreNotifyObject.' + index + '.field'"
:rules="[{ required: true, message: '请完善信息' }]"
>
<el-input
v-model="item.field"
placeholder="请输入field"
class="el-select_box"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
label="name"
:prop="'moreNotifyObject.' + index + '.name'"
:rules="[{ required: true, message: '请完善信息' }]"
>
<el-input
v-model="item.name"
placeholder="请输入name"
class="el-select_box"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
label="max"
:prop="'moreNotifyObject.' + index + '.max'"
:rules="[{ required: true, message: '请完善信息' }]"
>
<el-input
v-model="item.max"
placeholder="请输入max"
class="el-select_box"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6" align="center">
<el-button @click="deleteRules(item, index)">删除</el-button>
</el-col>
</el-row>
</div>
<el-button @click="addUser">增加</el-button>
<el-button @click="initData">清空</el-button>
</div>
</el-form>
</div>
</template> <script>
export default {
data() {
return {
addForm: {
name: "",
content: "",
moreNotifyObject: [
{
field: "",
name: "",
max: "",
},
{
field: "",
name: "",
max: "",
},
],
},
};
},
methods: {
initData() {
this.addForm.moreNotifyObject = [];
},
addUser() {
this.addForm.moreNotifyObject.push({
field: "",
name: "",
max: "",
});
},
deleteRules(item, index) {
this.index = this.addForm.moreNotifyObject.indexOf(item);
if (index !== -1) {
this.addForm.moreNotifyObject.splice(index, 1);
}
},
},
};
</script> <style lang="scss" scoped>
</style>
vue element 动态增加表单并进行表单验证的更多相关文章
- 循序渐进VUE+Element 前端应用开发(27)--- 数据表的动态表单设计和数据存储
在我们一些系统里面,有时候会需要一些让用户自定义的数据信息,一般这些可以使用扩展JSON进行存储,不过每个业务表的显示项目可能不一样,因此需要根据不同的表单进行设计,然后进行对应的数据存储.本篇随笔结 ...
- vue+element 动态表单验证
公司最近的项目有个添加动态表单的需求,总结一下我在表单验证上遇到的一些坑. 如图是功能的需求,这个功能挺好实现的,但是表单验证真是耗费了我一些功夫. vue+element在表单验证上有一些限制,必须 ...
- vue + element 动态渲染、移除表单并添加验证
博客地址:https://ainyi.com/66 又接到新需求了吧~~ 背景 在一个大表单里,有可能会出现这种需求,用户可以自己操作动态添加.移除表单,更加个性化的效果. 常见于填写个人信息.附加内 ...
- vue+element ui 关闭弹窗前清空form表单的值
this.$refs['disposeConfigsform'].resetFields();
- vue+ element 动态换肤
转至 https://www.cnblogs.com/dengqichang/p/10364455.html 一.搭建好项目的环境. 二.根据ElementUI官网的自定义主题(http://elem ...
- vue Element动态设置el-menu导航当前选中项
1,npm install vuex --save 2,在src下新建vuex文件夹,新建store.js文件: store.js import Vue from 'vue' import Vuex ...
- 在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
最近把微信框架的前端改造一下,在原来基于Bootstrap框架基础上的微信后台管理,增加一套Vue&Element的前端,毕竟Vue的双向绑定开发起来也还是很方便的,而且Element本身也提 ...
- 循序渐进VUE+Element 前端应用开发(28)--- 附件内容的管理
在我们很多模块里面,都需要使用到一些诸如图片.Excel文件.PDF文件等附件的管理,一般我们倾向于把它独立为一个公用的附件管理模块,这样可以有效的统一管理附件的信息.本篇随笔介绍附件内容的管理,包括 ...
- Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成) 动态表单生成 ElementUI官网引导 Element表单生成 Element动态增减表单,在线代码 关键配置 templa ...
- 封装Vue Element的form表单组件
前两天封装了一个基于vue和Element的table表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...
随机推荐
- word常规操作
为何写标 招标: A公司要买100台电脑 [需求] 投标: 电脑公司看到招标后,就会投标:自我介绍(公司,产品,售后) [自我介绍满足需求] 中标: A公司选择XX公司 [选择] 保密价格内容 不能透 ...
- oracle客户端安装先决条件检查出现PRVF-7531错误
场景:在局域网内,远程一台客户机进行客户端安装 度娘后,说一般情况下,由于操作系统未开启默认共享,导致Oracle无法检查环境的可用性. 查看server服务正常开启. 通过net share将c进行 ...
- 【VMware VCF】管理 VCF 环境中组件的密码策略。
使用 SDDC Manager 中的"密码管理"功能可以统一管理 VCF 环境中组件的用户密码,比如更新(Update).轮换(Rotate)以及修复(Remediate)组件的密 ...
- Flutter GestureDector点击空白区域不响应
GestureDector点击空白区域不响应 当GestureDector嵌套Container时,当Container子组件为Text时,点击空白区域不响应点击事件 GestureDetector( ...
- sed 指定行后或行前插入
sed 功能非常强大,这里主要列出一些工作中常用到的举例,以后再追加 示例文本 example.cfg Config = { a = 1, b = 1024, c = { ErrLevel = 4, ...
- Qt编写安防视频监控系统26-硬件加速
一.前言 硬件加速这个功能在一年多以前就已经具备,当时对两个内核一个是ffmpeg内核.一个是vlc内核都做了对应的接口函数,只是当时为了简单没有在系统设置中做出接口,vlc做硬件加速不用自己写代码实 ...
- [转]Vetur can't find `tsconfig.json` or `jsconfig.json` in d:\VueProjects\myroute.
vue界面启动项目 visual code报错 如下图,找到 Ignore Project Warning 前边打上对勾
- 比较IDEA与Eclipse
在IDEA的项目中,聚合工程或普通的根目录是工程(Project).它的每一个子模块(Module),都可以使用独立的JDK和Maven.下面的子工程称为模块(Module),子模块(Module)之 ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.3版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...
- 痞子衡嵌入式:Farewell, 我的写博故事2024
-- 题图:苏州周庄古镇双桥 2024 年的最后一天,照旧写个年终总结.今年工作上稳步发挥,但是在生活上收获了一个新的爱好,大家可能知道,痞子衡比较爱运动,一直有在打篮球羽毛球桌球.有感于公司乒乓球文 ...