vue 使用 element ui动态添加表单

html部分

<div class="hello">
   <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
  <el-form-item
    prop="email"
    label="邮箱"

  >
    <el-input v-model="dynamicValidateForm.email"></el-input>
  </el-form-item>
  <el-form-item
    prop="qq"
    label="QQ"

  >
    <el-input v-model="dynamicValidateForm.qq"></el-input>
  </el-form-item>
  <el-form-item
    prop="tel"
    label="电话"

  >
    <el-input v-model="dynamicValidateForm.tel"></el-input>
  </el-form-item>

  <el-row :gutter="20"  v-for="(domain, index) in dynamicValidateForm.domains" :key="domain.key">
    <div>
  <el-col :span="6" >

    <div>
        <el-form-item

    label=‘姓名‘

    :prop="‘domains.‘ + index + ‘.name‘"

  >
    <el-input v-model="domain.name"></el-input>
  </el-form-item>

    </div>
    </el-col>
  <el-col :span="6">
    <div >
        <el-form-item

    label=‘年龄‘
    :key="domain.key"
    :prop="‘domains.‘ + index + ‘.age‘"

  >
    <el-input v-model="domain.age"></el-input>
  </el-form-item>
      </div>
    </el-col>
  <el-col :span="6">
    <div >
        <el-form-item

    label="性别"
    :key="domain.key"
    :prop="‘domains.‘ + index + ‘.six‘"

  >
    <el-input v-model="domain.six"></el-input>
  </el-form-item>
      </div>
    </el-col>
    <el-col :span="6"><div>
      <el-button @click.prevent="removeDomain(domain)">删除</el-button>
      </div></el-col>
  </div>
</el-row>
  <el-form-item>
    <el-button type="primary" @click="submitForm(‘dynamicValidateForm‘)">提交</el-button>
    <el-button @click="addDomain">新增域名</el-button>
    <el-button @click="resetForm(‘dynamicValidateForm‘)">重置</el-button>
  </el-form-item>
</el-form>
  </div>

js部分

export default {
  name: "fromdatadt",
  data() {
    return {
      dynamicValidateForm: {
        domains: [
          {
            name: "",
            age: "",
            six: ""
          }
        ],
        email: "",
        qq: "",
        tel: ""
      }
    };
  },
  methods: {
    submitForm(formName) {
      console.log(JSON.stringify(this.dynamicValidateForm));
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    removeDomain(item) {
      var index = this.dynamicValidateForm.domains.indexOf(item);
      if (index !== -1) {
        this.dynamicValidateForm.domains.splice(index, 1);
      }
    },
    addDomain() {
      this.dynamicValidateForm.domains.push({
        name: "",
        age: "",
        six: "",
        key: Date.now()
      });
    }
  }
};

提交如下:

原文地址:https://www.cnblogs.com/aSnow/p/10504605.html

时间: 2024-08-21 14:50:24

vue 使用 element ui动态添加表单的相关文章

javascript实现的动态添加表单元素input,button等(appendChild)

写一个小系统时,需要动态添加表单元素,按自己的实现方法写了这篇教程! 我想各位在很多网站上都看到过类似的效果! 1.先用document.createElement方法创建一个input元素! 代码如下: var newInput = document.createElement("input"); 2.设定相关属性,如name,type等 代码如下: newInput.type=mytype;   newInput.name="input1"; 3.用append

element ui 库中 表单部分 一个很容易忽略的坑!

如果在使用element-ui1.4.* 版本中的表单时,发现某些字段绑定不了值,或者checkbox在你绑定后一点就全选了或者全部选,又或者表单验证时候有些字段没动静,那么十有八九是: 1.el-form 标签绑定data中的form时候,请使用:model="form" 而不是v-model="form". 2.请给el-form-item 标签中加上prop属性. 一些很简单的问题,也是自己踩过的坑,希望能帮到大家.

关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有: 1.使用此方法前检查prop一定必须要写在<el-form-item>上面,写在里面的input上或者其他任何地方都不行(el-form-item prop属性绑定) 2.el-form rules,model属性绑定,ref标识 自定义表单验证的坑: 一.valid

Struts2中UI标签之表单标签介绍

1.在Struts2中UI标签的表单标签分为两种:form标签本身和单个表单标签. 2.Struts2表单标签包括:form.textfield.password.radio.checkbox.checkboxlist.select.doubleselect.combobox.optiontransferselect.optgroup.updownselect.textarea.hidden.file.label.submit.token.head.datepicker.reset.richte

NHibernate动态添加表

NHibernate动态添加表 设置和动态扩展表差不多,添加了一个模板hbm.xml文件,用于创建动态hbm.xml,HibernateUtil无改动. MappingManger添加了两个方法 1 public static void UpdateClassMapping(DynamicTestModel dynamicModel) 2 { 3 var session = HibernateUtil.Instance.CurrentSession; 4 var fileName = "hbm_

Struts2中UI标签之表单标签的一个例子

1.最近写了一篇文章,介绍了一下Struts2中UI标签的表单标签,文章地址为:http://blog.csdn.net/u012561176/article/details/44986183  因为缺少了个例子,大家看文字和表格也看不出什么效果来,所以今天来介绍一个例子,用Struts2中UI标签的表单标签实现一个个人信息的表单,但是有些表单标签没有演示出来,大家可以根据我介绍UI标签的表单标签来进行学习,这里只是给个例子. 2.首先新建一个Struts2项目,项目名为PersonMess

[ jquery 表单UI选择器和表单元素属性选择器 ] 表单UI选择器和表单元素属性选择器

表单UI选择器和表单元素属性选择器: 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my page'> <meta http-equiv='keywords' content='keyword1,keyword2,keywo

PHP.TP框架下商品项目的优化4-优化商品添加表单js

优化商品添加表单js 思路 1.制作五个按钮 2.下面五个table 3.全部隐藏,点击则显示 4.点击第几个按钮就显示第几个table 具体操作 1.添加按钮 2.添加五个table并添加class隐藏后面四个 style="display:none" ->隐藏 class="tab_table" ->样式名,方便js操作 3.添加JS代码绑定点击事件[add.html的最下面] /******切换代码******/ $("#tabbar-d

(五) kendo UI view除表单外的常用组件

<div data-role="view" id="id" data-title="标题"></div> ================================================= 1.可以有很多个view(页),但每次只显示一个,通过 href=#id切换到当前页 2.与layout不同,layout通常用于多个view里面的固定层:可以多个,但每次显示也只是一个可以在view里通过data-la