iter(g313): sortableList 禁用态补视觉线索

This commit is contained in:
HIsheR
2026-10-27 00:43:55 +08:00
parent 2c9c0c1012
commit f873baf66a
7 changed files with 39 additions and 7 deletions
+9
View File
@@ -3203,6 +3203,15 @@
"motivation": "emptyRow 只区分「筛掉了」与「真没数据」,但两种情况都只给文案——列表本来就空时没有「新建」这类下一步,用户只能自己找工具栏;而筛选没结果时又该引导清条件,两种语义不该共用一个按钮位。",
"acceptance": "① DataTableProps 新增 emptyAction 插槽,只在「真没数据」时渲染在占位文案右侧;② 有筛选词时该位置仍是「清除筛选」,两者互斥;③ manifest 参数表与手把手、类型注释同步;④ npm run check 全绿。",
"notes": ""
},
{
"id": "g313",
"domain": "tune",
"status": "open",
"title": "sortableList 禁用态没有任何视觉线索",
"motivation": "disabled 只拦住了 dragstart 与键盘搬位,界面上一模一样:光标还是 grab、悬停照样变色,用户拖三次没反应只会以为组件坏了。",
"acceptance": "① 根节点按 disabled 切换 is-disabled 类与 aria-disabled(布尔与信号两种读法都响应);② 禁用时行光标回默认、文字退次级色、把手退到边框色、悬停与按下都不再给底色反馈;③ manifest 的 disabled 说明与手把手补一条,demo 增一个禁用实例;④ audit:visual / audit:contrast 全绿,npm run check 通过。",
"notes": ""
}
]
}
+4 -3
View File
@@ -1,6 +1,6 @@
{
"$schema": "ui-arch-registry-index/0.1",
"generatedAt": "2026-10-26T16:42:26.169Z",
"generatedAt": "2026-10-26T16:43:41.739Z",
"repoRoot": ".",
"packages": [
{
@@ -4693,7 +4693,7 @@
{
"n": "disabled",
"t": "boolean | Signal<boolean>",
"d": "禁用拖拽与键盘搬位;缺省 false",
"d": "禁用拖拽与键盘搬位,同时整体置灰退到不可交互那一档(光标与悬停都不再给反馈);缺省 false",
"df": "false"
},
{
@@ -4710,7 +4710,8 @@
"被拖的行以虚线边 + 抬升投影标示(不用整行降透明度:那会把正文对比压到 4.86,低于正文 7:1 口径),落点由指针位置决定,不会出现「拖了三格只动一格」的错觉",
"外部要按代码调整顺序用句柄 move(from, to),下标越界或禁用时静默忽略;order() 以 DOM 为唯一真相回读当前顺序",
"条目超过一屏也能拖:指针进入最近滚动祖先(overflow-y 为 auto/scroll 且内容确已溢出)上下 48px 感应带即按帧自动滚,松手或离开感应带立刻停;找不到滚动祖先(整页跟随滚动)时不接管滚动,交给浏览器",
"什么时候别用:需要严格的两级联动排序(树 / 表格分组)时它不够用,得自己在 onChange 里按父节点重排;跨列表搬运用两个实例各自持有顺序信号"
"什么时候别用:需要严格的两级联动排序(树 / 表格分组)时它不够用,得自己在 onChange 里按父节点重排;跨列表搬运用两个实例各自持有顺序信号",
"只看不改时传 disabled:光标回到默认、文字退到次级色、悬停与按下都不再变色,读屏播报 aria-disabled——禁用态最忌「看着能拖、拖了没反应」"
]
},
{