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表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...
随机推荐
- InstallShield软件详解
InstallShield使用说明 文章目录 InstallShield使用说明 术语解释 工程介绍 InstallScript Basic MSI InstallScript MSI 如何选择适合的 ...
- 【Amadeus原创】wordpress批量更新图片路径的方法
连上wordpress数据库,怼一句: UPDATE wp_posts SET post_content = REPLACE( post_content, '旧域名', '新域名' );
- .NET 7 中的限流
.NET 中的限流 https://devblogs.microsoft.com/dotnet/announcing-rate-limiting-for-dotnet/ 这里我们要宣布的是集成为 .N ...
- 部署docker-registry+ui shell 域名证书-用户认证
#部署docker-registry+ui shell docker registry 配置域名证书, 用户密码认证, 轻量UI ansible部署docker-registry+ui https:/ ...
- 【Word】文献引用批量上标
\[([0-9]{1,2})\]
- 【UI框架】ANtDesignVue中的Content超过一页显示问题
假设content部分是绿色 当内容超出一页之后,滑下去,后面的都没有底色. 如果footer有内容,content的内容甚至会和footer内容重叠在一起,同时,footer的内容随着下滑,位置就不 ...
- 【Linux】【UOS】为挂载的磁盘创建快捷方式(软链接)
打开项目或者保存文件的时候,如果需求路径不是系统盘路径,那么找起来还真是麻烦.以下时候通过创建快捷方式(软链接)的方式,将打开磁盘的快捷方式放在用户目录下,就方便寻找打开了. 1.查询挂载点 sudo ...
- 虚拟机安装 Win10 ,无法启动,报错EFI Network ... Time out
问题情况 VMWare 16 安装 win10 的镜像文件,无法启动,报错 EFI Network ... Time out 解决办法 虚拟机设置中 固件类型 改用 BIOS 已解决
- manim边学边做--同伦变换
在Manim中,移动一个元素除了之前介绍的方法之外,还可以通过同伦运算来移动一个元素. 与普通的移动元素方式相比,使用同伦运算移动一个元素时,实际上是在考虑整个空间的连续变形过程中元素的相应变化. 这 ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v9.0版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...