在过年前的最后一个工作日,总结一下维护6年的表格组件。回头一看,时间过的真快,距离v0.0.1
已经过去了2191天。
表格组件近照
虽然在github上一直不温不火,但该有的迭代却一直在持续。
2020年的第一版
在2020/1/12下午7:19:10
,发布了2020年的第一个版本2.10.5
。该版本中新增了当前页打印
功能,并修复和优化了部分逻辑。
2020年的最后一版
在2020/12/9上午9:07:17
,发布了2020年的最后一个版本2.14.17
。该版本中并没有新增功能,只是简单的处理了警告信息。
2020年主要更新功能
在2020年总共更新了46个版本,其中有些功能值得拿来一提。
打印功能
通过配置参数supportPrint
进行开启打印功能,开启后将在右键菜单中增加打印入口,也可以通过调用print(gridManagerName)
方法即时触发。
列固定功能
通过配置参数columnData.fixed
指定某列为固定列,该功能在列移动、行移动时依旧生效。
表头嵌套功能
通过配置参数columnData.children
指定某列使用嵌套表头,可无限增加数据结构。需要注意的是:使用表头嵌套功能时,部分dom操作将会处于失效状态。
2020年值得一提的几个非功能性事项
- 核心DOM驱动调整为数据驱动,简化了代码逻辑
- 处理了大数据量时DOM卡顿问题
- 合并了
jTool
,清除在表格组件中未使用到的类库方法 - 解决了在框架中使用时遇到的特殊问题,如不规范使用框架引起的多次渲染问题
- 修改构建所支持的浏览器为
chrome >=56 || firefox >=59
,拥抱class
- 单元测试工具由
PhantomJS
调整为ChromeHeadless
,解决长久以来npm i
过慢问题 - 对浏览器部分功能进行单例支持,如
safari
宽度调整存在1px
差位问题 css
使用var()
功能,并简化了部分样式文件- 高版本浏览器使用
ResizeObserver
替代reset
事件 - 使用原生支持的
Element.closest()
替换递归查找方式,性能提升7-8倍
写在最后
表格组件GridManager
支持Angular.1x
、React
、Vue
、jQuery
和原生
方式,核心代码库托管于github。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。