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 相关文章推荐
javascript 面向对象编程 function也是类
Sep 17 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
Oct 21 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 Javascript
Jquery为DIV添加click事件的简单实例
Jun 02 Javascript
vue实现消息的无缝滚动效果的示例代码
Dec 05 Javascript
在nginx上部署vue项目(history模式)的方法
Dec 28 Javascript
select标签设置默认选中的选项方法
Mar 02 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
vue 导航内容设置选中状态样式的例子
Nov 01 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
Oct 30 Javascript
如何使用vue3打造一个物料库
May 08 Vue.js
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在不同页面间传递Json数据示例代码
2013/06/08 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
微信小程序入门教程
2016/11/18 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
python原始套接字编程示例分享
2014/02/21 Python
python基础教程之while循环
2019/08/14 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
简单了解python列表和元组的区别
2020/05/14 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
数控技术专业毕业自荐书范文
2014/02/05 职场文书
经管应届生求职信范文
2014/05/18 职场文书
求职信怎么写范文
2014/05/26 职场文书
审美与表现自我评价
2015/03/09 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL