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 相关文章推荐
js 绑定带参数的事件以及手动触发事件
Apr 27 Javascript
JavaScript高级程序设计 DOM学习笔记
Sep 10 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
JS实现日期加减的方法
Nov 29 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
Jan 13 Javascript
js判断浏览器类型为ie6时不执行
Jun 15 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
基于zepto的移动端轻量级日期插件--date_picker
Mar 04 Javascript
基于Vue如何封装分页组件
Dec 16 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
javascript制作2048游戏
2015/03/30 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
用python写测试数据文件过程解析
2019/09/25 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Python新手如何理解循环加载模块
2020/05/29 Python
重点工程汇报材料
2014/08/27 职场文书
教代会闭幕词
2015/01/28 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
河童之夏观后感
2015/06/11 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
各国货币符号大全
2022/02/17 杂记
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技