用途:在 @tanstack/alpine-table 中通过 createTableHook 建立应用级复用边界,把 features、row models、row ID 与默认配置集中到工厂,各 Alpine 组件只传自己的 columns、响应式 data getter 和受控状态。
主要能力:createTableHook 返回 createAppTable 与 createAppColumnHelper;helper 生成的列可保留工厂已注册特性的类型推断,无需在用户代码里写特性泛型。它只返回应用特性、列 helper 和 createAppTable,不提供组件注册表或 context hooks。
用法:先 import Alpine 与 createTableHook、tableFeatures,定义类型后调用 createTableHook({ features: tableFeatures({}), getRowId }),再用 createAppColumnHelper<TData>() 建列,最后在 Alpine.data 中调用 createAppTable({ columns, get data() { return local.data } })。交互复用应使用真实模板与 Alpine.bind 捆绑,而非 JSX 组件注册表。
限制与常见错误:不要向 Alpine 版传入 cellComponents 或 tableComponents;单次表格无需工厂,直接用 createTable;data 会被替换时必须用 get data() getter,否则会捕获快照。API 以 node_modules/@tanstack/alpine-table/dist/createTableHook.d.ts 为准,不要照搬 React、Vue、Solid、Svelte、Angular 或 Lit 适配器的组件/上下文 API。