鼠年的最后一天,盘点下表格组件在2020年的更新记录

1,338

在过年前的最后一个工作日,总结一下维护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.1xReactVuejQuery原生方式,核心代码库托管于github