全局安装
npm install xe-utils@3 vxe-table@3
import Vue from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
Vue.use(VXETable)
// 给 vue 实例挂载内部对象,例如:
// Vue.prototype.$XModal = VXETable.modal
// Vue.prototype.$XPrint = VXETable.print
// Vue.prototype.$XSaveFile = VXETable.saveFile
// Vue.prototype.$XReadFile = VXETable.readFile
实践记录
动态编辑表格
文档
场景:动态添加字段,比如一个商品的数量,价格,并且将参数传递给后端
设置 edit-config={trigger: 'click', mode: 'cell'} 启用单元格点击编辑的功能
注意,如果后端返回的数据中没有对应的字段,依旧可以写,并且在最后获取table数据的时候可以拿到完整的数据
表格输入检验
文档
场景:当输入框比如为价格时,那么要求只能输入正整数
通过调用 validate 函数校验数据,edit-rules 校验规则配置,如果第一个参数为 true 则全量校验
(如果不指定数据,则默认只校验临时变动的数据,例如新增或修改…等)
1.添加校验规则
:edit-rules="validRules"
2.检验方法 (推荐使用全量数据校验)
async validAllEvent () {
const $table = this.$refs.xTable
const errMap = await $table.validate(true).catch(errMap => errMap)
if (errMap) {
this.$XModal.message({ status: 'error', content: '校验不通过!' })
} else {
this.$XModal.message({ status: 'success', content: '校验成功!' })
}
},
//备注:之前使用的是快速校验,该方法校验好像没什么用,且需要自己点击才可以进行输入框的检验
表尾计算
文档
场景:表格底部需要计算数值,如总价,总数等