u
This commit is contained in:
1 parent
7bd5f1dde9
commit
f3936cec61
70 files changed
+13074
-187
No files matched your search
@@ -116,6 +116,7 @@ packages/ui/src/table/
|
||||
| `seq` | `boolean \| object` | `true` | 序号列 |
|
||||
| `activeRowKey` | `string \| number \| null` | `null` | 当前高亮行 |
|
||||
| `editable` | `boolean` | `true` | 行内编辑总开关 |
|
||||
| `editorSeamless` | `boolean` | `true` | 单元格内无外间距 + 无常驻边框(§5.3) |
|
||||
| `noDataFull` / `showOverflow` | `boolean` | `true` | 空态铺满 / 溢出省略 |
|
||||
| `autoFitWidth` | `boolean` | `false` | 非横向虚拟时铺满容器 |
|
||||
| `theme` | `'light' \| 'dark'` | `undefined` | 不传则跟随全局主题(**按 §4.5 从 ConfigProvider 取,不依赖 pinia**) |
|
||||
@@ -214,6 +215,36 @@ const displayColumns = computed(() => {
|
||||
|
||||
---
|
||||
|
||||
## 4.7 编辑器无缝嵌入单元格(`editorSeamless`,默认开启)
|
||||
|
||||
**形态**:单元格内部**无外间距** + 编辑器**无常驻边框**。适合整行编辑、键盘连续
|
||||
录入、固定列宽以及专业用户(Excel / AG Grid / Handsontable 的表格态)。
|
||||
|
||||
**目标**:单元格保持稳定的几何结构,编辑器融进表格,**只有焦点、校验和特殊
|
||||
交互状态才增强视觉提示**。
|
||||
|
||||
三条硬约束(改动这块前必读):
|
||||
|
||||
1. **编辑器盒高 = `var(--row-height)`**。td 是 border-box,指定 `height: 30px` 时
|
||||
内容盒只有 `30 - padding`,而子元素 `height: 100%` 解析的基准是**内容盒**。
|
||||
所以 td 垂直 padding 必须为 0,且编辑器不能靠 `height: 100%` 撑——
|
||||
`G3Select` 的触发器自带 `min-height: 32px`,在 30px 的行里会直接把行顶高 2px。
|
||||
显式 `height: var(--row-height)` + `min-height: 0` 把下限压死。
|
||||
2. **水平内边距只能由 td 提供**(库的 `--cell-padding-x`)。若改成给编辑器加
|
||||
透明边框,编辑器与纯文本格会各用一套逻辑像素取整,窄列下出现「编辑前文字
|
||||
偏移 1px」的漂移;td padding 对两者一视同仁,**进出编辑态零位移**。
|
||||
3. **无边框 ≠ 无提示**。焦点环画在**外层 td 的 `inset` 阴影**上(`:focus-within`):
|
||||
内阴影在 padding box 内侧绘制,不参与 td 自身的盒模型计算,几何绝对稳定,
|
||||
且天然铺满整格;hover 换成格内极淡填充,校验用文字色 + 1px 内描边。
|
||||
三者都不占用布局空间。
|
||||
|
||||
去零的是 `padding` / `border` / `border-radius` / `background`,
|
||||
**绝不动 height**;被移除的内边距由编辑器内层控件补回一次网格间距
|
||||
(`space-1` / `space-2`,与纯文本格同一档),因此「无间距」的收益是
|
||||
**格内不留空白**,而不是让文字失去网格对齐。
|
||||
|
||||
---
|
||||
|
||||
## 5. 与现有约定的对齐(必改项)
|
||||
|
||||
| 参考实现 | 我们必须改成 |
|
||||
|
||||
Reference in new issue
Block a user