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表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...
随机推荐
- 启动Node.js前端项目
跟前端同事联调的时候,有时前端同事要跟其他后端同事联调,心想就自己启个前端项目,这样前端同事跟其他后端同事联调的时候,我可以先自己调来试试. 安装Node.js,NPM,NVM等,一气呵成.将前端项目 ...
- 解决node报错ERR_OSSL_EVP_UNSUPPORTED
"scripts": {//修改启动dev方式 "dev": "SET NODE_OPTIONS=--openssl-legacy-provider ...
- 微软中文输入法带来的一点小坑,导致arcgispro输入中文异常
有同事反映,在Pro中新建要素类时,没办法设定名称为"新建",会自己变成不完整的拼音. 查看了一下,确有此事. 在相同的界面里还有其他输入框,却没有这种情况. 研究了一下,发现是输 ...
- nodejs版本控制器nvm安装及简单使用
介绍:nvm是node.js的版本管理器,可以安装和切换不同版本node.js 下载:https://github.com/coreybutler/nvm-windows/releases 官网下载: ...
- 深度学习环境搭建(Windows11)
深度学习环境的搭建(Windows11) 偶然重装了系统,在此记录下环境的恢复 基本深度学习环境的搭建,包括Anaconda+CUDA+cuDNN+Pytorch+TensorRT的安装与配置. ps ...
- 腾讯技术岗位笔试&面试题(五)
说在前面 本篇文章是腾讯技术面试题目汇总第五篇. 后续将持续推出互联网大厂,如阿里,腾讯,百度,美团,头条等技术面试题目,以及答案和分析. 欢迎大家点赞关注转发. 1.define.const.typ ...
- 【Python】【爬虫】【问题解决方案记录】调试输出存在数据,print在控制台确丢失数据
如下图,调试可以看到数据是完整的 但是print输出的,恰好丢失了中间的一大堆数据.对,下图打问号的地方应该是小说才对. 看代码可能看不出缺失内容,可视化看看 对吧,刚好缺失了小说. 后来我尝试用写文 ...
- 【Java高级编程】IO流学习笔记
目录 IO流 File类 文件/文件夹基础操作 创建文件的完整步骤 IO流 - 节点流 读入文件一个字节(一个字节) [FileInputStream]字节数组的方式读取(读取全部内容) [FileI ...
- 区块链技术已经衰落了吗?(区块链已die)
区块链技术已经好多年没有听到有人提了,不过比特币却一直是不是的又新闻出现,当然国内已经把比特币交易归入到了不合法的地位了.区块链技术是国家战略的技术,但是这个技术说实话确实不是很高深,或者说蛮easy ...
- Qt编写跨平台RTSP/RTMP/HTTP视频流播放器
一.前言 很早以前就做过这款播放器的入门版本,最开始用的ffmpeg去解析,后面陆续用vlc播放器.mpv播放器来做,毕竟播放器提供的接口使用也很方便,而且功能强大,后面发现播放器主要的应用场景是播放 ...