vue+elementui实现动态添加行/可编辑的table

本文实例为大家分享了vue+elementui实现动态添加行、可编辑的table的具体代码,供大家参考,具体内容如下

HTMl代码块:

<el-col :span="24">
    <el-form-item label="与承租户同户籍成员:" :label-width="formLabelWidth">
        <el-table :data="zichandetail.members" :border=true style="width: 99.99%;">
            <el-table-column type="index" label="序号" width="100"></el-table-column>
            <el-table-column prop="name" label="姓名" width="150">
                <template slot-scope="scope">
                    <el-input v-model="scope.row.name" autocomplete="off" size="small"
placeholder="请输入姓名"></el-input>
                </template>
            </el-table-column>
            <el-table-column prop="name" label="与承租人关系" width="150">
                <template slot-scope="scope">
                    <el-input v-model="scope.row.relationship" autocomplete="off" size="small" placeholder="请输入与承租人关系"></el-input>
                </template>
             </el-table-column>
             <el-table-column prop="name" label="联系电话" width="150">
                 <template slot-scope="scope">
                     <el-input v-model="scope.row.mobile" autocomplete="off" size="small"
placeholder="请输入联系电话"></el-input>
                 </template>
             </el-table-column>
             <el-table-column prop="name" label="出生年月" width="150">
                 <template slot-scope="scope">
                     <el-date-picker v-model="scope.row.birthday" type="month" placeholder="请输入出生年月" value-format="yyyy-MM" size="small" class="allwidth">
                     </el-date-picker>
                  </template>
              </el-table-column>
              <el-table-column prop="name" label="工作单位">
                  <template slot-scope="scope">
                      <el-input v-model="scope.row.gongzuodanwei" autocomplete="off" size="small" placeholder="请输入工作单位"></el-input>
                  </template>
              </el-table-column>
              <el-table-column label="操作" width="100">
                  <template slot-scope="scope">
                      <el-button size="mini" type="danger" plain @click="delmembers(scope.$index, scope.row)">删除</el-button>
                  </template>
              </el-table-column>
         </el-table>
         <i class="el-icon-circle-plus-outline" @click="addmembers"></i>
      </el-form-item>
   </el-col>
</el-row>

js代码块:

1.添加操作

addmembers() {
   console.log('与承租户同户籍成员');
   var member = this.zichandetail.members;
   console.log(member);
   var length = member.length;
   this.zichandetail.members.push(
   {
      id: parseInt(length),
      name: '',
      relationship: '',
      mobile: '',
      birthday: '',
      gongzuodanwei: '',
   })
 },

2.删除操作

delmembers(index, row) {
   var that = this;
   this.$confirm('确认删除吗?', '提示', {
   confirmButtonText: '确定',
   cancelButtonText: '取消',
   type: 'warning'
   }).then(() => {
      //点击确定的操作(调用接口)
      var hasmembers = that.zichandetail.members;
      for (var i = 0; i < hasmembers.length; i++) {
          if (row.id == hasmembers[i].id) {
              that.zichandetail.members.splice(i, 1);
              // this.$message({ message: '删除成功', duration: 2000, type: 'success' });
           }
       }
     }).catch(() => {
     //点取消的提示
         return;
     });
},

实现效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • vue elementUI table 自定义表头和行合并的实例代码

    最近项目中做表格比较多,对element表格的使用,只需要传递进去数据,然后写死表头即可渲染. 但现实中应用中,如果写死表头,并且每个组件中写自己的表格,不仅浪费时间而且消耗性能.这个时候需要动态渲染表头. 而官方例子都是写死表头,那么为了满足项目需求,只能自己来研究一下. 1.自定义表头 代码如下,其实就是分了两部分,表格主数据是在TableData对象中,表头的数据保存在headerDatas,headerDatas.label其实就是表头的值,如果表头是"序号",那么header

  • 在vue中给列表中的奇数行添加class的实现方法

    ---------笔记--------- 实现效果:给列表中的奇数或偶数添加class //奇数行 <ul> <li class="list-item" v-for="(item,index) in data" :class="{'active':index%2 != 1}">{{data[index].name}}</li> </ul> 奇数行::class="{'active':ind

  • 在vue中动态添加class类进行显示隐藏实例

    如下所示: <div class="status_button"> <el-button type="success" @click="checkSite" >查岗</el-button> <el-button type="danger">视频</el-button> </div> <!-- 查岗部分显示影藏 --> <div class

  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    给Table组件添加Click事件,实现点击某行数据操作 customRow 设置行属性 Function(record, index) 通过customRow 属性给table添加自定义事件 <a-table :columns="columns" :dataSource="data" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange ,onSelec

  • VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法

    在开发中,需要表格控件根据浏览器高度进行调整,固定表头,且然后多余的出滚动条,官方给出的: 只要在el-table元素中定义了height属性,即可实现固定表头的表格,而不需要额外的代码. 然后直接上template代码: <template> <el-table :data="tableData3" height="250" border style="width: 100%"> <el-table-column

  • Vue实现textarea固定输入行数与添加下划线样式的思路详解

    先上效果图### textarea下划线 设置一张1*35 //行高 的图片 , 设置背景图即可. background: url('./img/linebg.png') repeat; border: none;outline: none;overflow: hidden; line-height: 35px;//注意行高要和背景图高度一致resize: none; 固定输入行数 需求:用户固定不论多少字节,只能输入2行. 因为是限制行数,所以不能用maxlength设置. 实现思路 首先想到

  • vue+elementui实现点击table中的单元格触发事件--弹框

    elementui中提供了点击行处理事件 查看位置: elementui的table事件 elementui的table中怎样点击某个单元格触发事件? 可以先看一下官网中table的自定义列模板代码 <template> <el-table :data="tableData" border style="width: 100%"> <el-table-column label="日期" width="180

  • VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解

    先看看ElementUI里关于el-table的template数据结构: <template> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-tabl

  • vuejs element table 表格添加行,修改,单独删除行,批量删除行操作

    1.表格动态添加,也可删除 <template> <div class="TestWord"> <el-button @click="addLine">添加行数</el-button> <el-button @click="save">保存</el-button> <el-table :data="tableData" style="wid

  • vue实现动态列表尾部添加数据执行动画

    目录 动态列表尾部添加数据执行动画 先上动画 动态数据使用wowjs显示动画 1.通过npm安装 2.在main.js中引入animate.css 动态列表尾部添加数据执行动画 先上动画 动态控制节点数量(目前只显示6个节点) 尾部添加几个item,头部则删除几个item 触发 transition-group 动画 splice 的使用方法 代码: <style lang="scss"> .content {   display: flex;   width: 600px

随机推荐