iter(g259): 数据表格暴露每页条数候选
This commit is contained in:
@@ -47,7 +47,6 @@ export function dataTable<T extends { id: RowKey }>(props: DataTableProps<T>): H
|
||||
const selectedCount = computed(() => state().selection.length);
|
||||
// 加载态读取器:布尔直接读,信号则保持响应性(供 renderList 依赖收集)
|
||||
const busy = (): boolean => (typeof props.loading === 'function' ? props.loading() : props.loading === true);
|
||||
|
||||
// —— 受控页码桥接:外部信号 ↔ 内核分页;外部越界先钳制,signal 等值写回不触发,双向同步收敛安全 ——
|
||||
if (props.page) {
|
||||
const pageSig = props.page;
|
||||
@@ -192,6 +191,7 @@ export function dataTable<T extends { id: RowKey }>(props: DataTableProps<T>): H
|
||||
info,
|
||||
total: () => visible().total,
|
||||
loading: busy,
|
||||
pageSizes: props.pageSizes,
|
||||
onPage: (page) => table.dispatch({ type: 'setPage', page }),
|
||||
onPageSize: (pageSize) => table.dispatch({ type: 'setPageSize', pageSize }),
|
||||
}),
|
||||
|
||||
@@ -65,6 +65,7 @@ export interface DataTableProps<T> {
|
||||
columns: TableColumn<T>[]; // 列定义:内核字段 + align / format
|
||||
filterKey?: string; // 工具栏筛选的列;缺省取第一列
|
||||
pageSize?: number; // 每页行数;缺省 5
|
||||
pageSizes?: number[]; // 分页条「每页条数」候选;缺省 [5, 10, 20],当前 pageSize 不在候选里会自动补进去
|
||||
selectable?: boolean; // 是否启用行选择列(含全选三态与已选计数);缺省 false
|
||||
page?: Signal<number>; // 受控页码信号:与内核分页双向同步,可接独立 pagination 组件联动
|
||||
loading?: boolean | Signal<boolean>; // 加载态:为真时数据行换成骨架行,筛选与翻页禁用
|
||||
|
||||
Reference in New Issue
Block a user