Vue+Element实现表格编辑、删除、以及新增行的最优方法


Posted in Javascript onMay 28, 2019

之前已经实现了表格的新增、编辑和删除,在我的上篇文章中写的也比较详细。但是总感觉有点不完美,首先新增了一行以后,必须要双击某一个单元格参能进行内容的输入。从代码上来说,代码量也较大;而且使用的是原生的html标签,有点尴尬。

于是,进一步研以后,进行了一定的优化,直接使用vue的代码实现,不仅大大减少了代码量,还实现了操作的友好性。下面直接上代码:

1 html部分

这次的优化其实主要在于html部分,直接将vue的el-input标签或者el-select标签放入表格的每个单元格中。这样就不用去考虑表格内容的编辑问题了。

<el-form :model="inServForm" ref="inServForm" label-width="130px" size="small">
    <el-form-item label="输入参数列表" prop="servin" >
    <el-button type="primary" @click="addRow(infiledList)">新增</el-button>
    <template>
     <el-table border :data="infiledList" style="width: 100%" >
      <el-table-column prop="fildna" label="名称" style="width:6vw;" >
      <template scope="scope">
       <el-input size="mini" v-model="scope.row.fildna" ></el-input>
      </template>
      </el-table-column>
      <el-table-column prop="fildtp" label="类型">
      <template scope="scope">
       <el-select v-model="scope.row.fildtp" clearable >
        <el-option
        v-for="item in fildtps"
        :key="item.value"
        :label="item.text"
        :value="item.value">
        </el-option>
       </el-select>
      </template>
      </el-table-column>
      <el-table-column prop="remark" label="备注">
      <template scope="scope">
         <el-input size="mini" v-model="scope.row.remark" ></el-input>
      </template>
      </el-table-column>
      <el-table-column fixed="right" label="操作">
    <template slot-scope="scope">
    <el-button @click.native.prevent="deleteRow(scope.$index, infiledList)" size="small"> 移除 </el-button>
    </template>
    </el-table-column>
   </el-table>
   </template>
  </el-form-item>
</el-form>

2 数据定义部分

data () {
 return {
infiledList:[],
 fildtps:[{text:'字符',value:'1'},{text:'数字',value:'2'}],

}

3 方法部分

methods: {
 deleteRow(index, rows) {//删除改行
    rows.splice(index, 1);
    },
  addRow(tableData,event){
  tableData.push({ fildna: '',fildtp:'',remark:''
  })
  },
}

4 效果图展示

Vue+Element实现表格编辑、删除、以及新增行的最优方法

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

Javascript 相关文章推荐
自动更新作用
Oct 08 Javascript
JavaScript获取GridView选择的行内容
Apr 14 Javascript
DOM 基本方法
Jul 18 Javascript
JQuery for与each性能比较分析
May 14 Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 Javascript
jQuery自动完成插件completer附源码下载
Jan 04 Javascript
json的结构与遍历方法实例分析
Apr 25 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
详解Vue 全局变量,局部变量
Apr 17 Javascript
微信小程序分包加载代码实现方法详解
Sep 23 Javascript
react MPA 多页配置详解
Oct 18 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 Javascript
Javascript三种字符串连接方式及性能比较
May 28 #Javascript
vue+element实现表格新增、编辑、删除功能
May 28 #Javascript
Vue实现表格批量审核功能实例代码
May 28 #Javascript
vue+Element实现搜索关键字高亮功能
May 28 #Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 #Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 #Javascript
Django+Vue实现WebSocket连接的示例代码
May 28 #Javascript
You might like
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
Python统计分析模块statistics用法示例
2019/09/06 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
计算机个人求职信范例
2014/01/24 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书