简介
ux-table-react 是一款专为大规模数据和复杂交互场景设计的 React 高性能表格组件库。它深度借鉴了 Excel 的操作体验,在提供轻量级包体积的同时,通过底层架构优化,为你带来极致的渲染与交互性能。
💡 为什么选择 UX Table React?
在海量数据和重度编辑场景下,传统表格常常面临严重的性能瓶颈。我们通过 虚拟滚动 + Web Worker 的双重架构,彻底解决了主线程假死和渲染卡顿的问题。
核心设计理念
⚡️ 极致的渲染性能
我们深知在现代 Web 应用中,表格往往是性能瓶颈的重灾区。ux-table-react 在底层采用了行列双向虚拟滚动引擎。这意味着无论你传入一千行还是一百万行数据,浏览器 DOM 树中始终只渲染用户可视区域内的少量单元格,从根本上杜绝了滚动卡顿和内存溢出。
🧵 告别主线程阻塞
对于复杂的表格交互,如大范围的“框选 -> 复制 -> 解析 -> 粘贴”,传统表格往往会因为密集的计算导致页面失去响应(假死)。 ux-table-react 创新性地引入了 Web Worker 异步处理机制,将所有繁重的数据提取、矩阵计算和剪贴板字符解析任务转移到后台线程执行,彻底解放主线程,确保用户界面始终保持丝滑。
📊 Excel 级原生交互
为了降低用户的学习成本,我们致力于还原最真实的电子表格体验:
- 无缝选区:支持鼠标任意拖拽框选、点选、行列全选,并在拖拽到表格边缘时触发平滑的自动滚动(Auto-Scroll)。
- 键盘导航:完全支持
↑↓←→方向键移动焦点,按下Enter或任意字符即可直接进入内联编辑模式。 - 高级剪贴板:完美支持
Ctrl+C复制、Ctrl+X剪切(带蚂蚁线动画)、Ctrl+V粘贴,并能与本地 Excel/WPS 双向互通数据。 - 时间旅行:内置高效率的状态操作栈,支持
Ctrl+Z撤销与Ctrl+Y恢复,让你放心地进行批量数据修改。
♾️ 无限画布能力
不仅是一个展示数据的列表,更是一个可以无限扩展的“画布”。通过 gridConfig 和 infinite API,你可以初始化一个带有大量空单元格的空白网格,并随着用户的滚动,自动向外扩充行和列,这在构建在线表格或低代码平台时极为有用。
面向开发者
- 开箱即用:排序(内置/自定义比较器)、固定列、拖拽调整列宽等企业级功能一应俱全。
- 类型安全:采用 TypeScript 全量编写,严格的泛型约束,拒绝
any,为你的二次开发提供完美的智能提示。 - 高度可控:提供丰富的生命周期拦截钩子(如
beforeCopy、beforePaste),让你能够轻松介入并重写默认行为。