
一句话总结这次更新把表格底层全换了跑得更快、交互更好编辑器全都翻新了一遍一、这次搞了什么大事v1.5 是 SmartTable 发布以来改动最大的一次主要干了这么几件事换了表格渲染引擎—— 从旧的表格组件换成了 VTable整个表格的交互体验完全不一样了所有字段的编辑器全部翻新—— 单选、多选、日期、成员……每一个都重做了性能和缓存深度优化—— 大表格也能流畅跑之前打开千条以上的数据都很卡现在可以顺滑支持万条以上数据了附件管理完善—— 上传、预览、编辑一条龙还有很多其他……下面一个一个说。二、VTable 新引擎这可能是你看过最顺滑的表格这是本次更新最大的变化。SmartTable 把底层的表格渲染全部换成了visactor/vtable你可以理解为——给表格换了个”心脏”。换完之后的效果单元格内数据编辑更顺滑了以前表格的行内编辑有很多的限制整体体验也不太好现在可以很顺滑的对所有的类型的字段在行内编辑了双击单元格进入编辑状态包括多行文本、富文本、单选、多选、附件等等字段编辑完成之后鼠标焦点离开即刻保存各类单元格的数据编辑效果表格内容复制粘贴以前 copy、paste 不了点击表格里任意一行记录、一个单元格均可以直接使用快捷键复制CTRLC复制之后的内容可以选择想要粘贴的单元格一个或多个直接CTRLV粘贴还有成功提示多个单元格内容复制、粘贴效果列排序、列冻结快捷操作表头上有列排序和列冻结的快捷操作可以一键点击实现冻结列、列数据排序快捷排序、冻结原生分组视图以前的”分组”是 SmartTable 自己凑合实现的现在 VTable 自带分组能力。分组内外观更整齐还能在分组里直接添加记录、折叠展开、看统计数据。VTable原生分组效果一些细节也到位了输入非法数据单元格会标红列名太长会自动出 tooltip表头上能看到每个字段的类型图标一看就知道这列存的是啥类型视觉风格统一…………三、所有字段编辑器全翻新了这次把每种字段类型的编辑器全都拆开重做了一遍。光说文字你可能没感觉直接看表字段类型编辑器改了啥单选从旧方案换成了自定义的 SingleSelectEditor更好用了多选彻底重构样式和功能都优化了日期自己写的日期/日期时间编辑器时区问题也修了成员重构了现在支持搜索还能用缓存加载评分以前是用文本”星星”展示现在换了真正的矢量图形进度条加了完整的样式和格式化选项复选框换成了开关组件状态持久化也处理好了多行文本编辑器重写了自动编号加了样式支持字段图标统一用 SVG 实现支持自定义颜色四、性能优化大表的痛终于治了之前的版本表格数据一多就容易卡这次重点搞了性能记录转换缓存—— 重复转换的问题解决了省 CPU数据源 LRU 缓存—— 同样的请求不用重复发流式加载优化—— 大表格滚动更流畅了批量查询优化—— 关联字段查得快多了支持懒加载—— 超过 15000 条记录的大表也能跑起来加了加载进度条等数据的时候心里有数且可以点击取消按钮停止加载五、其他值得一提的富文本字段—— 基于 TinyEditor编辑器表格里能写富文本了附件管理完善—— 上传、预览、编辑附件浮窗还能跟着位置走URL 字段单击跳转、双击编辑—— 更符合直觉首页增强—— 可以从现有 Base 复制一份出来方便做模板实时协作完善——Docker、Windows环境下实时协作可能不生效的问题也解决了六、特别感谢 visactor/vtable 团队这次换引擎是 v1.5 最大的改动也是评估了很久之后做的决定。说实话之前用的旧表格方案在功能上越来越不够用了——分组是自己凑的、右键菜单是没有的、性能瓶颈也明显。我们调研了市面上好几款表格库最后选了visactor/vtable。他们的 canvas 渲染方案性能确实强API 设计也很完善。而且 VTable 本身是开源项目社区活跃文档质量也高。这次能顺利把整个表格底层换掉很大程度上要感谢 VTable 团队的优秀工作。后续也计划将vtable里的很多特性结合SmartTable的情况持续优化应用让SmartTable更加易用。如果你也在做表格类的项目强烈推荐去看看 visactor/vtable真的能省很多事。七、关于 SmartTableSmartTable 是一个开源的多维表格系统功能上有点像 Airtable 或者飞书的多维表格。核心特性支持 22种字段类型文本、数字、日期、单选、多选、成员、附件、公式、关联……基本你能想到的字段类型都有了7 种视图表格视图、分组视图、看板视图、日历视图、甘特图视图、表单视图、画廊视图43 个内置公式函数数学、文本、日期、逻辑、统计能做不少复杂的计算实时协作多人同时编辑冲突自动处理多个 Base 模板会议管理、学习计划、Bug 追踪、招聘管理、资产管理、OKR……仪表盘系统支持 KPI 卡片、图表、实时数据展示文档管理富文本编辑、Markdown、PDF 导出、版本历史一键启动下载 release 包双击就能用不需要折腾环境Docker 部署一条命令启动内嵌 Redis支持 SQLite 和 PostgreSQL个人用 SQLite 就够了团队用可以上 PostgreSQL快速体验# 下载最新 release 包解压后双击 start.bat 即可 # 或者用 Docker 一键启动 docker run -d -p 80:80 ygbinac/smarttable:latest关注作者如果你觉得 SmartTable 对你有帮助欢迎关注作者第一时间获取项目更新动态和技术干货平台账号 / 链接 GitHubhttp://github.com/ldbinac/smart_table Giteehttp://gitee.com/binac/smart_table 微信公众号程序员吕洞宾 CSDN程序员吕洞宾 稀土掘金程序员吕洞宾 知乎程序员吕洞宾老铁们GitHub 点个 Star 就是最大的支持