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表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...
随机推荐
- uni app 封装接api接口
创建文件 base.js let baseURL = ''; // 是否在控制台显示接口请求日志,本地环境启用,打包环境禁用 let showHttpLog = false; // 测试环境 bas ...
- Git 浅克隆后拉取其他分支
对于已浅克隆的项目 $ git clone --depth=1 <git-repo-url> repo $ cd repo 现在浅克隆了一个Git仓库repo.但仓库里查询远程分支只有一个 ...
- 鸿蒙NEXT开发案例:九宫格随机
[引言] 在鸿蒙NEXT开发中,九宫格抽奖是一个常见且有趣的应用场景.通过九宫格抽奖,用户可以随机获得不同奖品,增加互动性和趣味性.本文将介绍如何使用鸿蒙开发框架实现九宫格抽奖功能,并通过代码解析展示 ...
- 如何在Linux上使用pbcopy和pbpaste命令
由于 Linux 和 Mac OS X 是基于 *Nix 的系统,因此许多命令可以在两个平台上运行.但是,某些命令可能在两个平台上都没有,比如 pbcopy 和 pbpast.这些命令仅在 Mac O ...
- SDK连接节点失败排查思路
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/connect.html Important: 前置说明 1 ...
- File and Code template
/** * @author muzhi.zhong * @author <a href="mailto:muzhi.z@xxx.cn">muzhi.z</a> ...
- ssh远程执行命令方法和Shell脚本实例
写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 ser ...
- 《Spring MVC+MyBatis快速开发与项目实战》-黄文毅2019:一书的源码和配套视频下载地址
<Spring MVC+MyBatis快速开发与项目实战>-黄文毅2019:一书的源码下载地址: http://github.com/huangwenyi10/springmvc-myba ...
- HP 打印机驱动
HP Universal Print Driver Series for Windows https://support.hp.com/cn-zh/drivers/selfservice/hp-uni ...
- IDEA集成Docker控制台日志乱码问题解决
IDEA工具栏 → HELP → Edit Custom VM Options... 文件尾部添加一行 -Dfile.encoding=utf-8 重启IDEA即可