用途:在 TanStack Table Core 中启用列可见性功能,通过 columnVisibilityFeature 隐藏列,同时渲染感知可见性的 header、column、cell 集合。它建立在 core 与 table-features 之上,可见性状态变化只影响可见性感知模型,不会移除列定义。
主要能力:提供可见性感知的表、行、列 API。表头用 table.getHeaderGroups(),渲染内容用 row.getVisibleCells();控件类操作可用 table.getAllLeafColumns().filter((column) => column.getCanHide())。控制项用全列 API,渲染表格内容用可见 API。
用法: import { columnVisibilityFeature, tableFeatures } from '@tanstack/table-core' export const features = tableFeatures({ columnVisibilityFeature }) export const initialState = { columnVisibility: { internalId: false } }
常见错误:渲染隐藏单元格时应使用 row.getVisibleCells().map(renderCell),而非 row.getAllCells().map(renderCell),后者有意包含隐藏列;判断隐藏应写成 columnVisibility[column.id] === false,只有显式 false 才隐藏,缺少条目表示可见;enableHiding 控制是否允许隐藏,可见性本身属于表格状态,不要混淆。
限制:资料仅覆盖以上内容,其他配置、框架示例与边界情况暂未提供。