vue表单中动态添加输入框的方法

vue表单中动态添加输入框的方法2019-12-20
1.数据格式

form: {
          name: '',
          sex: '',
          num: '',
          phone: '',
          date: '',
          domains: [{ // 动态添加的input
            date1: '',
            administrator: '',
            room: '',
            key: Date.now(),
            orderConProject: [],
          }]
        },

2.要动态添加的部分循环

<div class="orderCon" v-for='(orderItem,index) in form.domains' :key='orderItem.key'>
          <i v-if='index!==0' class="el-icon-close orderConDel" style="color:#DFADAE"
            @click='delAdministrator(orderItem)'></i>
          <el-row>
            <el-col :span=10 :offset=1>
              // :prop="'v-for的数组名.' + index + '.name名'" 
              // prop路径就是能获取到input的value值的路径
              // rules要单独写
              <el-form-item label="" :prop="'domains.' + index + '.administrator'" :rules="{
                required: true, message: '域名不能为空', trigger: 'blur'
              }">
                <el-select v-model="orderItem.administrator" placeholder="预约管理师" style="width:100%;" clearable>
                  <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>

3.点击添加时向数组中添加新对象

addAdministrator() {
        this.form.domains.push({
          date1: '',
          administrator: '',
          room: '',
          key: Date.now(),
          orderConProject: [],
        })
      },

4.删除

 delAdministrator(item) {
        var delId;
        this.form.domains.map((val, ind) => {
          if (val.key == item.key) {
            delId = ind
          }
        });
        this.form.domains.splice(delId, 1)

        // this.form.domains.map((val, ind) => {
        //   if (item.key == val.key) {
        //   使用indexOf可以删除数组中某个对象 ,tag是个对象{key:val}
        //     val.orderConProject.splice(this.kdnrTags.indexOf(tag), 1)
        //   }
        // })
      },

效果


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我在Vue动态组件上的坑上重复踩了两次,一模一样的两次思考过程。 我想,这个重复思考的过程并不是偶然,说明是很有必...
    嘉宝_Appian阅读 25,032评论 6 19
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,190评论 0 1
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,684评论 0 17
  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 3,407评论 0 25
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,142评论 0 2