No.29 vue-element-admin 学习使用(二十四)集成vxe-table 手动触发编辑Table

1,435 阅读2分钟

这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战

公司项目刚好要用到一个可编辑的table,今天又在思考写什么文章好,那就写一篇table的文章吧,顺便记录一下。

由于这个项目里的table功能不够强大,所以决定还是使用之前我推荐过的vxe-table来写,回家刚好把demo写一下,明天到公司移植一下就行了。

首先yarn安装一下

yarn add xe-utils
yarn add vxe-table

然后use一下

import Vue from 'vue' 
import VXETable from 'vxe-table' 
import 'vxe-table/lib/index.css' 
Vue.use(VXETable)

说真的,原本项目好好的,突然爆炸了,找了半天原因未遂,一怒之下怒删项目,换成了vue-admin-template这个基础的模板。

由于没有花里胡哨的组件,yarn的时候也很顺利,瞬间就成功了,但是看起来就很简陋

image.png

先写表格吧,首先是这种手动触发编辑的表格,点击编辑后,该行就变成了可编辑的状态

image.png 对数据进行修改后,可以保存或者取消

image.png 看一下使用的方法,给vxe-table设置 edit-config={trigger: 'manual', mode: 'row'} 就会启用当前的,行编辑的功能,还可以配合 revertData 函数实现取消就还原数据

image.png

操作列有调用3个不同的方法,实现编辑,保存,取消。

image.png editRowEvent接收一个row参数,可以把该row设置为可编辑状态,cancelRowEvent调用了revertData,还原为了原本的数据,saveRowEvent保存数据,就需要和后端进行交互,进行数据的存储了。

平时如果数据库中数据是按行存储的,可以获取到row数据,修改当前条数据就行了,但是由于本次项目的存储方式是把所有数据序列化后存储的,于是就需要修改整体的数据了。可以获取到this.tableData,发送给后端接口,就能实现编辑功能了