跳到正文
Linasan UI

AdvancedTable 高级表格

在 DataTable 之上加:表头筛选(文本、选项、范围、日期……)、合计行、拖动列宽和列序、行展开、全屏,以及金额、趋势、进度等单元格。

项目列表
标签
项目 01林三进行中前端0%¥20,000.0013.0%
项目 02王五进行中后端设计17%¥330,000.003.9%
项目 03赵六已暂停设计运维+134%¥140,000.005.2%
项目 04孙七已完成前端后端+251%¥450,000.0013.0%
项目 05林三进行中后端68%¥260,000.003.9%
项目 06王五进行中设计运维85%¥70,000.005.2%
项目 07赵六已暂停前端后端+11%¥380,000.0013.0%
项目 08孙七已完成后端设计+218%¥190,000.003.9%
项目 09林三进行中设计35%¥500,000.005.2%
项目 10王五进行中前端后端52%¥310,000.0013.0%
合计 · 36 个¥9,520,000.00
第 1–10 条,共 36 条
每页
  • 列的 meta.filterVariant:text / select / enum / range / date / boolean / custom,withHeaderFilters 补上对应的 filterFn。filterMode="row" 把筛选放到表头下方的常驻一行。
  • 单元格(advanced-table/cell-types):PersonCell、MoneyCell、TrendCell、ProgressCell、TimeCell、TagsCell、CopyCell、EllipsisCell、ImagesCell、RankCell,表头说明 HelpHeader。
  • EditableCell 就地编辑,TableTools 是刷新 / 行高 / 列设置 / 全屏,SelectionBar 是带合计的批量条。
  • 只读的大数据量列表用 VirtualTable(advanced-table/virtual-table):固定行高,按索引取行。

安装

pnpm dlx shadcn@latest add https://docs.linasan.cn/r/advanced-table.json

第一次装本站的组件前先在项目里执行一次 shadcn init,详见 安装。

用法

import { AdvancedTable } from '@/components/advanced-table/advanced-table';
import { withHeaderFilters } from '@/components/advanced-table/header-filters';

const columns = withHeaderFilters([
  { accessorKey: 'name', header: '项目', meta: { filterVariant: 'text' } },
  { accessorKey: 'budget', header: '预算', meta: { filterVariant: 'range' } },
]);

<AdvancedTable table={table} resizable reorderable summary={{ budget: total }} />

示例

就地编辑与筛选行

EditableCell 让单元格可编辑(数字、文本、下拉),带校验和「改过」角标;filterMode="row" 把表头筛选放到表头下方常驻一行。

单击单元格编辑,Enter 保存、Esc 取消、Tab 到下一格;改过的格子带角标
A-1001无线鼠标
A-1002机械键盘
B-2001Type-C 线
B-2002显示器支架
C-3001降噪耳机
库存货值¥131,854.00

属性

属性

类型

本页目录