iter(g103): 区分表格两种空状态

This commit is contained in:
HIsheR
2026-10-26 13:54:06 +08:00
parent f4701af984
commit e497c160f2
6 changed files with 42 additions and 11 deletions
+18
View File
@@ -0,0 +1,18 @@
import { h } from '@ui-arch/frame';
import type { Signal } from '@ui-arch/frame';
import { button } from './button.js';
/*** 表格空状态行:有筛选词说明是筛掉的并给一键清除,没有筛选词就是真没数据;两种语义不该混成一句话 ***/
export function emptyRow(colspan: number, keyword: Signal<string>, onClear: () => void): HTMLElement {
const q = keyword().trim(); // 读信号:筛选词变化时整表重绘会带上新文案
return h(
'tr',
{ class: 'ua-empty-row' },
h(
'td',
{ colspan },
h('span', { class: 'ua-empty-tip' }, q ? `没有符合「${q}」的行` : '暂无数据'),
q ? button({ label: '清除筛选', variant: 'ghost', onClick: () => { keyword(''); onClear(); } }) : null, // 清空信号与内核筛选
),
);
}