Files
workspace/code/g3soft-libs/.changeset/table-readonly-grey-gate.md
T
2026-10-13 22:32:50 +08:00

1.4 KiB

@g3soft/ui
@g3soft/ui
patch

G3Table:「不可改的格子」灰底加上前提 —— 这张表里得先有人能编辑。

  • 灰底的语义是「这一格现在改不了」,它靠「旁边有可改的格子」传达意义。原先的判据是逐格看「有没有 editor」,于是纯展示表(列上都没写 editor,文档 7 张 demo 里有 6 张如此)会把每一格都标成只读并铺灰 —— 整张表看上去像「禁用状态」,与实际(这是一张正常展示表)不符。
  • 现在两种情况不再铺灰:
    • 表格里一个可编辑列都没有(含「唯一有 editor 的那列 disabled: true」);
    • editable="false",编辑功能整体关掉。
    • 判据取「存在真的可编辑的列」:disabled 写成函数的列算可编辑(总有行能改,灰底正是要表达它)。
  • 可编辑表里的行为不变:没有 editor 的列、editor.disabled: true 的列、以及按行禁用的格子照旧常驻灰底(不需要先点开某一行)。
  • 单测锁「按行禁用时展示 span 带 cell-readonly」与「总开关关闭时不带」;真浏览器 e2e 用两个新宿主分别锁「纯展示表」与「editable: false」都是 0 个灰格,并反向断言可编辑表里仍有灰底(把门控改成恒真时,纯展示表立刻量到 6 个灰格、用例转红,实测)。