# 关于
# 简介
本工具为应用vxe-table
时的一个中间件,基于vxe-table
表格组件v3.9+版本封装,旨在提供一个创建表格和配置的方案,让 Vue2 开发的项目支持一定的 TypeScript 类型提示,提升开发体验!
# 背景
在原公司时,使用vxe-table
组件比较早,大概是 v1 版本时候,我封装了表格创建的中间件,原目的一是为了符合当时开发人员的习惯,将模板开发转化为 js 逻辑开发,二是为了统一各项目风格,统一更新,提升开发与管理效率。后来随着vxe-table
大小版本升级,有一些破坏性更新,中间件的优势就体现了,我只需要修改中间件的内部逻辑就可以实现适配,各项目历史代码基本不会受影响。
24 年计划将依赖的vxe-table
版本由 v2 升级到 v3 时候有了一些新的想法,vxe-grid
功能也齐全了,于是除了将原方案适配到 v3,同时基于vxe-grid
做了拓展方案,包括 grid 创建工具和配置工具,同时,由于 vue2 开发项目未使用 TS,之前的方案在使用时会经常查询文档的痛点,所以这次拓展方案通过设计了函数式编程方式以提供一定的 TS 类型支持,优化开发体验。不过离职时尚未开发完成,所以拓展方案尚未经过大量项目验证。
本工具即提取自该拓展方案,并完成了初期逻辑开发和类型文件,同时解决了后续发现的核心实现上的问题。虽然是个技术小渣渣,但是我觉得当时的思路可以分享出来,不一定直接使用本工具,也可以作为一个实现思路的参考。
# 一点说明
中间件当前适配到vxe-table@3.16.8
。
随着vxe-table
版本的升级,配置属性或方法有时候会有变更,但是我可能无法实时跟进,所以如果项目中使用的话建议锁定vxe-table
版本号,其实对团队的统一性也是好的,空闲了我就会跟进更新,同时注明适配到的版本号,方便项目根据自己的情况更新。
如果项目中使用的vxe-table
版本比当前中间件适配的版本号超前,可以提 issue 提醒我跟进更新,也可以通过中间件提供的拓展方法helpersDecorator
自行实现,拓展方法的使用见文档说明
# 总结
- 依赖
vxe-table
v3.9+版本 - 依赖
vxe-grid
- 基于函数式编程方式实现配置工具和 grid 构造,为 vue2 场景提供一定的 TypeScript 类型支持
- 应对一定的破坏性更新,避免大范围修改项目代码
- 拓展一些功能(计划中...)
快速开始 →