组件
表格 Table
Table:基于 TanStack Table v9 的一站式数据表。行是在 ARIA table 语义下的 CSS grid,因此排序、过滤、树展开、选择和分页由行模型管线提供时,吸顶表头、固定列、合并单元格和虚拟化窗口仍保持语义正确。
#基础用法
Region
Units
Revenue
Jiangnan
1240
$18,400
Hokuriku
860
$12,150
Lingnan
620
$9,320
<script setup lang="ts">
import { DataTable } from "@bysages/vue";
const columns = [
{ accessorKey: "region", header: "Region" },
{ accessorKey: "units", header: "Units", meta: { numeric: true } },
{ accessorKey: "revenue", header: "Revenue", meta: { numeric: true } },
];
const data = [
{ region: "Jiangnan", units: 1240, revenue: "$18,400" },
{ region: "Hokuriku", units: 860, revenue: "$12,150" },
{ region: "Lingnan", units: 620, revenue: "$9,320" },
];
</script>
<template>
<DataTable :data="data" :columns="columns" />
</template>
#属性
#SDataTable
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
data | Array as PropType<RowData[]> | — | |
columns | Array as PropType<ColumnDef<any, any, any>[]> | — | |
selectable | unknown | — | |
sortable | Boolean | true | — |
filterable | unknown | — | |
showToolbar | Boolean | true | — |
tree | unknown | — | |
merge | Array as PropType<string[]> | — | |
pinStart | Array as PropType<string[]> | — | |
pinEnd | Array as PropType<string[]> | — | |
virtual | unknown | — | |
rowHeight | Number | 40 | — |
paginated | unknown | — | |
pageSize | Number | 10 | — |
pageSizeOptions | Array as PropType<number[]> | () => [10, 20, 50] | — |
stickyFooter | unknown | — | |
initialSorting | Array as PropType<SortingState> | — | |
globalFilterPlaceholder | String | "Filter rows" | — |
emptyText | String | "No rows" | — |
reorderable | unknown | — |