共计 208 个字符,预计需要花费 1 分钟才能阅读完成。
发现设计还是很有意思的:
- 整个表格都是用 canvas 画进去了,据作者说是为了性能。
- 在 canvas 之上有一层不可见的 table,外部 col, row, cell 和 canvas 上画的 1:1 复制,这是为了无障碍用户。
最顶层是 overlay,用于响应所有鼠标和键盘事件,用户操作后更新到上层 canvas。
- 这层很简单,要解决点击、拖拽,以及编辑 cell 的各种浮动组件
而后大略看了一下腾讯的在线表格,也是相似的构造(除了没有无障碍层)
正文完
发表至: javascript
2022-04-08