记录在项目开发过程中遇到的小问题,积累开发经验,欢迎大家一起留言探讨

在工作中,碰到了双击可修改表格内容的需求,项目采用的是ElementUI前端框架

1、在表格中声明双击事件

<el-table......@cell-dblclick="tableDbEdit"......
</el-table>

2、编写方法实现功能

tableDbEdit(row, column, cell, event) {console.log(row, column, cell, event);// 定义我们要排除的编辑的列,let noEditColumns = [];// 全表格可编辑的话直接注释下一行即可noEditColumns = ["name", "sid", "priority", "classtypeChinese", "操作"];/*** 注意对应关系* 1、column.property--对应的是我们的数据列名* 2、column.label ---对应的是标题的中文名称* */ if (noEditColumns.indexOf(column.property) != -1) {return;}// 记录要编辑的表格,原本的值let msg = row[column.property];event.target.innerHTML = "";// 双击添加input框let cellInput = document.createElement("input");//设置input框样式及类型cellInput.value = msg;cellInput.setAttribute("type", "input");cellInput.style.width = "80%";cellInput.style.height = "30px";cellInput.style.paddingLeft = "10px";cellInput.style.border = "1px solid #288EFE";cellInput.style.borderRadius = "3px";cell.appendChild(cellInput);// --注意此处需要将焦点设置给cellInput,否则onBlur不好使cellInput.focus();//为鼠标添加失去焦点事件cellInput.onblur = async () => {// 判断输入是否为空,为空则删除inputif (cellInput.value == "") {cell.removeChild(cellInput);event.target.innerHTML = msg;} else {cell.removeChild(cellInput);// 修改值event.target.innerHTML = cellInput.value;// 自己的请求在这里书写,下边只是示例let form = {sid: column.property === 'sid' ? cellInput.value : row.sid, tag: column.property === 'tag' ? cellInput.value : row.tag,msg: column.property === 'msg' ? cellInput.value : row.msg,chineseName: column.property === 'chineseName' ? cellInput.value : row.chineseName}const {data} = await RuleUpdate(form)console.log(data)}};},

3、双击看效果

除去我们定义的排除编辑的列,其余列都可以进行进行双击修改的操作。

【前端小技能】ElementUI表格双击可编辑--开箱即用相关推荐

  1. 前端的ElementUI表格里面的编辑前后的值的获取

    文章目录 1.点击修改按钮获取之前的值: 2.在修改事件里面进行获取值 注意不可以直接 this.oldRow = row 3. 保存的时候获取新的值和旧的值 4. 使用的打印看看,原来的表格里面的没 ...

  2. ES6中展开运算符的深拷贝浅拷贝理解(ElementUI表格点击编辑,模态框内容与表格数据一起变的问题)

    项目中遇到的问题: 在elementui中表格点击按钮传值的时候,通过bus中的$emit传对象,在弹出的模态框中用bus的$on接收对象,然后对传的对象进行改变,结果发现改变了原表格的数据. 然后就 ...

  3. el-table/element-ui 表格实现行编辑

    珊妹儿最近一直项目需求要用el-table实现行编辑,这个功能嘛,是我领导写的,我呢,拿出来给大家借鉴一下,如果你们有更好的建议,欢迎留言~ 实现思路: 1.表格数据我们拿到后,每一行都加个变量作为判 ...

  4. 前端基础学习-element-ui表格表头做成斜线表头

    这部分代码样式部分参照表头斜线 首先上效果图 这里主要是针对二级表头对其样式进行选择修改,这里需要注意一定要是二级表头才能做出这样的效果 html代码 <el-table :data=" ...

  5. 前端小项目3 # DoubleClickHeart 双击图片产生爱心动效

    涉及知识点 鼠标事件 JavaScript操作DOM节点 闭包 HTML中鼠标点击的位置信息 animation 动画 引入图标字体库 介绍 双击图片,在点击处显示爱心动画效果并更新累计点击次数. 代 ...

  6. 前端小技能:利用action-type按钮事件实现批量删除

    文章目录 引言 I 利用action-type按钮事件实现批量删除 1.1 action-type 汇总 1.2 HTML DOM setInterval() :周期(以毫秒计)调用执行函数/表达式 ...

  7. 【前端小技能】vue + highcharts 绘制世界地图及各个国家的地图

    项目用的是vue,工作需求是:绘制世界地图,然后通过世界地图点击可以跳转到各个国家的地图,之前只单独做过世界地图+中国地图,查询资料了解到了highCharts-vue,让我们开始吧. 在vue项目基 ...

  8. Vue+ElementUI纯前端技术实现对表格数据的增删改查

    Vue+ElementUI纯前端技术实现对表格数据的增删改查 页面展示效果 一.页面结构 分为三个部分 head body 以及script 一般我个人是在head中引入一些组件库 , 还有一些样式 ...

  9. vue+elementui表格前端导出excel以及自定义导出样式

    vue+elementui表格前端导出excel以及自定义导出样式 项目遇到前端自己导出表格,我自己把后端给我的数据处理了一波,合并重复列啊,以及表头合并啊.可没想到导出竟然也要前端自己来弄,于是乎请 ...

  10. elementUI——表格单元格合并——技能提升

    elementUI--表格单元格合并--技能提升 之前写过一个关于单元格合并的功能,要求根据某一个参数比如序号,如果同一个序号下的某些参数前后的数据一致,则需要实现单元格的合并. 效果图如下: 还有一 ...

最新文章

  1. c盘python27文件夹可以删除嘛_C盘的文件夹哪些可以删除
  2. 英特尔在网络营销之下即将出现大动作,第二季度服务器出货率将有所提升
  3. DateDiff 函数的用法
  4. 【hihocoder 1312】搜索三·启发式搜索(启发式搜索写法)
  5. mongodb php存储日志,laravel 框架使用mongodb 保存日志
  6. linux学习笔记1(第一本笔记)
  7. WPS自己用来看的 方便记录
  8. java duplicate key_java.lang.IllegalStateException: Duplicate key 1
  9. 翼支付门户架构之搭建SpringMvc环境
  10. PyTorch的安装与一些问题处理
  11. css大图切割,利用CSS切割图片技术来动态显示图片
  12. 10个H5页面制作工具
  13. 计算机相关美文摘抄,半途而废的人生很美美文摘抄
  14. 读《终身学习》 哈佛毕业后的六堂课,整理总结
  15. JavaScript结课报告
  16. 图片验证码 java_java生成图片验证码
  17. 手机Type-C接口能干的事儿,其实远比你想象得多!
  18. javaweb——spring cloud分布式系统(1)搭建配置管理中心
  19. python中[::]的含义
  20. PHP函数源码之SESSION实现机制

热门文章

  1. VB中 vbp vbw frm frx log bas 等扩展名大全
  2. linux测速,linux环境下使用speedtest测速
  3. CDR案例:广告条幅banner设计
  4. 51单片机基础知识(重点)
  5. 1299: Problem 1
  6. 7.STC15W408AS单片机串口通信
  7. Markdown学习笔记
  8. error: Could not load host key: /etc/ssh/ssh_host_dsa_key
  9. wps页眉怎么设置不同页码_wps页眉的页码和页脚的页码不同怎么设置?
  10. 解决——完美解决Anaconda打开Spyder5报错:link image0 hasn’t been detected!