From 0b3aa4fd34fc5b39fe8fed4940a0c5cda16a1c5a Mon Sep 17 00:00:00 2001 From: Eunjae Lee Date: Fri, 21 Feb 2025 08:56:51 +0100 Subject: [PATCH] fix: preserve columnVisibility from initialState (#19412) --- .../features/data-table/components/DataTableWrapper.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/features/data-table/components/DataTableWrapper.tsx b/packages/features/data-table/components/DataTableWrapper.tsx index 8a1218d1dd..d301fb7367 100644 --- a/packages/features/data-table/components/DataTableWrapper.tsx +++ b/packages/features/data-table/components/DataTableWrapper.tsx @@ -1,6 +1,6 @@ "use client"; -import type { Table as ReactTableType } from "@tanstack/react-table"; +import type { Table as ReactTableType, VisibilityState } from "@tanstack/react-table"; import { useEffect, useRef } from "react"; import { @@ -61,11 +61,16 @@ export function DataTableWrapper({ const columnFilters = useColumnFilters(); useEffect(() => { + const mergedColumnVisibility = { + ...(table.initialState?.columnVisibility || {}), + ...columnVisibility, + } satisfies VisibilityState; + table.setState((prev) => ({ ...prev, sorting, columnFilters, - columnVisibility, + columnVisibility: mergedColumnVisibility, })); table.setOptions((prev) => ({ ...prev,