vue element项目常见实现表格内部可编辑功能

目录
前言
正文
1.简单表格行内内部可编辑
2. 数据从后端取得表格行内可编辑
3.批量表格整体的可编辑
结语
前言
后台系统都是各种表格表单编辑,整理了下常见的几种实现表格编辑的方式,希望有用。使用框架:vue+element

表格行内内部可编辑
数据从后台取得的表格行内可编辑
表格整体的可编辑
正文
1.简单表格行内内部可编辑
原理就是span 和 input 的切换显隐。

在这里插入图片描述
代码:

<template><div><el-table :data="tabledatas" border><el-table-column label="tab1"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="scope.row.show" v-model="scope.row.tab1"></el-input><span v-show="!scope.row.show">{{scope.row.tab1}}</span></template></el-table-column><el-table-column label="tab2"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="scope.row.show" v-model="scope.row.tab2"></el-input><span v-show="!scope.row.show">{{scope.row.tab2}}</span></template></el-table-column><el-table-column label="操作"><template slot-scope="scope"><el-button @click="scope.row.show =true">编辑</el-button><el-button @click="scope.row.show =false">保存</el-button></template></el-table-column></el-table></div>
</template>
<script>export default {data() {return {tabledatas: [{ tab1: '111', tab2: '2222',show:true},{ tab1: 'aaa', tab2: 'bbb' ,show:false},],}},}
</script>
  1. 数据从后端取得表格行内可编辑
    从后台取得的数据,可能没有show这个属性,所以在接收数据的时候操作一下,加这个属性,效果依然。但此时也会遇见保存时候需要把这个属性去掉,不影响传输正确数据。

代码:

<template><div><el-table :data="tabledatas" border><el-table-column type="selection"></el-table-column><el-table-column label="tab1"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="scope.row.show" v-model="scope.row.tab1"></el-input><span v-show="!scope.row.show">{{scope.row.tab1}}</span></template></el-table-column><el-table-column label="tab2"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="scope.row.show" v-model="scope.row.tab2"></el-input><span v-show="!scope.row.show">{{scope.row.tab2}}</span></template></el-table-column><el-table-column label="操作"><template slot-scope="scope"><el-button @click="scope.row.show =true">编辑</el-button><el-button @click="scope.row.show =false">保存</el-button></template></el-table-column></el-table></div>
</template>
<script>export default {data() {return {tabledatas: [],}},created() {// 发请求去后台拿数据,如果有api,就正常请求,//我这里是demo,就简单给list赋值了,原理一样。// getlistApi().then(res => {// let list = res.data.listlet list = [{ tab1: 'tast2', tab2: 'tast333' },{ tab1: 'aaa', tab2: 'bbb' },]list.forEach(element => {element["show"] = false});this.tabledatas = list// })},}
</script>

3.批量表格整体的可编辑
效果图:
在这里插入图片描述
代码:

<template><div><el-button @click="show =true">编辑</el-button><el-button @click="show =false">提交</el-button><el-table :data="tabledatas" border><el-table-column label="tab1"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="show" v-model="scope.row.tab1"></el-input><span v-show="!show">{{scope.row.tab1}}</span></template></el-table-column><el-table-column label="tab2"><template slot-scope="scope"><el-input placeholder="请输入内容" v-show="show" v-model="scope.row.tab2"></el-input><span v-show="!show">{{scope.row.tab2}}</span></template></el-table-column></el-table></div>
</template>
<script>export default {data() {return {tabledatas: [{ tab1: '111', tab2: '2222' },{ tab1: 'aaa', tab2: 'bbb'},],show:false}},}
</script>

结语
这是编辑保存功能,下篇顺便写一下行内和批量删除和增加行的功能吧~
附:vue+element的表格最优实现单条和批量修改、保存、复制、删除、新增、提交数据功能

如果本文对你有帮助的话,请给我点赞打call哦~o( ̄▽ ̄)do
有其他问题留言 over~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yii2.0 技巧总结

View部分 1. 使用ActiveField中的hint生成提示文字 <? $form->field($model, freightAddedFee)->textInput()->hint(大于0的整数) ?> 2. 文本框添加placeholder属性&#xff0c;其实这个本来就是html5带的属性。 <? $form->field($model, mobile, $inp…

【JavaScript】appendChild一个的注意点之会删除原dom树节点

最近在研究学习vue原理&#xff0c;其中使用createDocumentFragment()方法&#xff0c;是用来创建一个虚拟的节点对象&#xff0c;那问题来了&#xff0c;创建了虚拟dom树&#xff0c;且最后只渲染了虚拟dom树里面的节点&#xff0c;那原dom树的节点去哪里了&#xff0c;查阅了…

正则表达式图书

From: http://www.usidcbbs.com/read-htm-tid-1457-page-2.html 网文 vs 书藉 只要是知道“正则”这个词的&#xff0c;上网搜集个把资料&#xff0c;应该就不是问题吧。我获得正则消息的网絡渠道有这样几个&#xff0c;以质量从高到低排序&#xff1a;dilicious标签&#xff0…

Spring.NET学习笔记12——面向切面编程(基础篇) Level 300

AOP即面向切面编程(Aspect Oriented Programming的缩写)&#xff0c;是OOP(面向对象编程)的一种延续形式。是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术&#xff0c;它从一个不同于OOP的角度来看待程序的结构&#xff1a;OOP将…

vue-cli3使用svg图标的详细步骤

1.安装依赖 npm install svg-sprite-loader -D2.在vue.config.js里添加配置 module.exports{chainWebpack: config > {const svgRule config.module.rule("svg"); svgRule.uses.clear();svgRule.use("svg-sprite-loader").loader("svg-sprite…

python模拟登陆163邮箱并获取通讯录

From: http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html python模拟登陆163邮箱并获取通讯录 #-*- coding:UTF-8 -*-import urllib,urllib2,cookielibimport xml.etree.ElementTree as etree #xml解析类class Login163:#伪装browserheader {User-Agent:…

【BZOJ】【3850】ZCC Loves Codefires

贪心 就跟NOIP2012国王游戏差不多&#xff0c;考虑交换相邻两题的位置&#xff0c;对其他题是毫无影响的&#xff0c;然后看两题顺序先后哪个更优。sort即可。 WA了一次的原因&#xff1a;虽然ans开的是long long&#xff0c;但是在这一句:anstime*a[i].k;时&#xff0c;还是需…

Element-UI中关于table表格的那些骚操作

最近的项目中使用到element-ui组件库&#xff0c;由于做的是后台管理系统&#xff0c;所以经常需要操作表格&#xff0c;编辑样式的过程中遇到一些问题&#xff0c;官网针对table给出了很多的api&#xff0c;自己可以自定义&#xff0c;基本能满足产品需求&#xff0c;但是没有…

Qt Creator 使用技巧

From: http://www.developer.nokia.com/Community/Wiki/Qt_Creator_%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7 Qt Creator 使用技巧 简介 Qt Creator 作为Qt 开发的IDE&#xff0c;支持Qt 开发&#xff0c;及QML开发&#xff0c;能很好的发挥Qt 跨平台的特点&#xff0c;这里列举一…

前端利用CryptoJS进行AES对称加解密(16进制编码)

加密相关JS https://www.npmjs.com/package/crypto-js 引入JS 使用示例&#xff1a; 附上原文代码方便大家自由使用 //加密 let key CryptoJS.enc.Utf8.parse(123456789qwertyu);//密钥必须是16位&#xff0c;且避免使用保留字符 let encryptedData CryptoJS.AES.encry…

触发器三(行级DML触发器)(学习笔记)

行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No.触发语句 :old字段:new字段1INSERT 未定义&#xff0c;字段内容为NULLINSERT操作结束后&#xff0c;为增加数据值2UPDATE更新数据…

用Python和Pygame写游戏-从入门到精通(1)

From: http://eyehere.net/2011/python-pygame-novice-professional-1/ 博客刚开&#xff0c;打算做一个Pygame的系列&#xff0c;翻译自Will McGugan的《Beginning Game Development with Python and Pygame –From Novice to Professional》&#xff0c;有兴趣的朋友可以搜一…

解决el-select后台一次返回大数据量渲染慢导致页面卡顿的问题

场景一 解决了一次性渲染大量数据问题 业务场景是后台一次返回10万多条数据需要在下拉框中展示,直接渲染会导致页面卡顿且需要很长时间等待,用户体验极差,所以我把这个改造了一下,直接上代码, 里面注释写的很清楚了就不解释了. <template><div class"content&q…

在诺基亚S60v3上运行.NET程序

诺基亚手机采用的几乎都是Symbian OS操作系统。而.NET Framework则是Windows平台的专利&#xff0c;因此.NET程序只能运行在使用Windows Mobile系统的手机上。那么Symbian OS是否就没法运行.NET程序了呢&#xff1f; 答案是否定的。RedFiveLabs一直致力于在Symbian OS上实现.NE…

React开发(162):React关于 this.props.children 总结

this.props.children 的值有三种可能&#xff1a; 如果当前组件没有子节点&#xff0c;它就是 undefined ; 如果有一个子节点&#xff0c;数据类型是 Object&#xff1b; 如果有多个子节点&#xff0c;数据类型就是 Array。

响应式布局---菜单

一个简单的响应式菜单,仅使用media query实现. 上图的作用就是将普通的菜单在缩小浏览器屏幕到一定宽度,或者是在移动设备上的显示效果.现在分步进行实现: 第一步:先构建一个普通的菜单,具体显示如图: 结构如下: <nav class"nav"><ul><li class"…