2.1 KiB
2.1 KiB
@g3soft/ui
| @g3soft/ui |
|---|
| minor |
修复并增强 RichText 表格编辑。
修复
- 初始为
disabled/readonly的编辑器恢复可编辑后,列宽拖拽仍失效:Tiptap 在创建时按isEditable决定是否注册columnResizing插件,而setEditable不会重建插件。现改为始终按可编辑创建、挂载后按 props 降级,插件集完整保留。 - 光标落在单元格文本内时,操作浮层定位崩溃(
domAtPos().node返回文本节点,closest不存在抛TypeError)。已归一化节点类型后再取表格元素。 - 浮层
z-index硬编码1000,会被 modal(1101+)盖住;改用nextZIndex('popup')领取、隐藏即归还。 - 页面级滚动 / 窗口缩放时浮层位置漂移:新增
window捕获阶段scroll/resize监听跟随重定位。 - 插入表格面板行列数不校验,输入 0 / 负数 / 超大值会生成畸形表格:现在插入时夹回 1–20。
增强
- 补齐表头能力:切换表头列、切换表头单元格(此前仅表头行)。
- 单元格水平对齐:左 / 中 / 右对齐(写入
style="text-align: …"),激活态高亮,支持一键取消。 - 「合并或拆分」单键智能操作:选中多格合并、单格有合并则拆分。
- 分组分隔线 + 去重图标,危险操作(删除表格)单独分组防误点。
- 插入面板新增「包含表头行」开关、Enter 键提交;只读 / 禁用态浮层自动隐藏。
列宽拖拽重构
- 布局从
table-layout: auto改为fixed:拖拽只动被拖列、其余列纹丝不动,不再出现「拖第 2/3 列线时第 1 列被动变窄」的联动错位。 - 拖拽结束 / 插入表格后自动把整表各列实际宽度固化回
colwidth,保证后续每次拖拽严格隔离相邻列。 - 最小列宽从 80px 调整为 10px。
- 移除拖拽时的黑色竖线指示条(只保留
col-resize光标提示)。 - fixed 布局消除 auto 布局下每次 mousemove 的整表重排,拖拽不再卡顿。
文档见 docs/content/ui/form/rich-text.md,e2e 见 packages/ui/e2e/rich-text-table.spec.ts。