关于 getting-started
getting-started 是一项使用 @tanstack/alpine-table 和 Alpine.js 构建表格的指南技能,涵盖配置、响应式数据与渲染,并指向核心和功能参考资料以查阅 API 细节。
主要功能
- 01配置 Alpine 表格适配器
- 02连接响应式数据和选项
- 03渲染表头与单元格
- 04使用 Alpine 标记构建控件
- 05查找核心及功能 API 参考
适用场景
- 01使用 Alpine.js 开始构建表格
- 02保持表格数据响应式
- 03渲染自定义表头和单元格
- 04查阅可选表格功能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tanstack/ table --skill getting-started安装后在 Claude Code 中输入/getting-started确认已加载。
附带文件references/create-table-hook.md
详细介绍
先运行 intent load @tanstack/table-core#core,了解无头模型、稳定输入和列推断。
设置
import Alpine from 'alpinejs'
import {
FlexRender,
createTable,
tableFeatures,
type ColumnDef,
} from '@tanstack/alpine-table'
type Person = { id: string; name: string }
const features = tableFeatures({})
const columns: Array<ColumnDef<typeof features, Person>> = [
{ accessorKey: 'name', header: 'Name' },
]
Alpine.data('peopleTable', () => {
const local = Alpine.reactive({
data: [{ id: '1', name: 'Ada' }] as Array<Person>,
})
const table = createTable({
features,
columns,
get data() {
return local.data
},
getRowId: (row) => row.id,
})
return { table, FlexRender }
})
window.Alpine = Alpine
Alpine.start()
使用 x-for 渲染真实的表格结构;仅对渲染器输出使用 x-html="FlexRender({ header })" 或 x-html="FlexRender({ cell })"。
构建与渲染
将会变化的数据包裹在 Alpine.reactive 中,并通过 get data() 暴露。适配器会追踪选项的 getter;data: local.data 会捕获一份快照,不会跟随之后的数组替换。静态列和功能应放在 getter 之外。
返回的表格是一个响应式代理。直接在 x-text、x-for、x-if 或绑定属性中读取 Table API 即可,无需 Subscribe 组件。
表格结构和交互控件应使用真正的 Alpine 标记来构建。渲染器输出使用 x-html="FlexRender({ header })" 或 x-html="FlexRender({ cell })"。Alpine 不会初始化 x-html 字符串中的指令;按钮和输入框请使用模板或 Alpine.bind 绑定包。
按任务阅读
- 添加或配置可选功能时,运行
intent load @tanstack/table-core#table-features,且只阅读所需行为对应的参考文档。 - 关于状态归属或响应式读取,请阅读 table-state。
- 当多个表格共享功能、默认配置或可复用 UI 时,请阅读 create-table-hook。
API 查找
查阅 node_modules/@tanstack/alpine-table/dist/index.d.ts、createTable.d.ts 和 reactivity.d.ts。核心功能 API 位于 node_modules/@tanstack/table-core/dist/features/ 中。