Browse Source

fix: 修改表格按钮无法刷新问题

xyh 2 years ago
parent
commit
629baa484e

+ 8 - 3
packages/app/src/components/table/hooks.ts

@@ -5,7 +5,7 @@ import {
   Header,
 } from '@tanstack/react-table';
 import {ColumnType} from 'antd/es/table';
-import {useEffect, useRef, useState} from 'react';
+import {useEffect, useMemo, useState} from 'react';
 import {DragStartEvent, DragEndEvent} from '@dnd-kit/core';
 import {arrayMove} from '@dnd-kit/sortable';
 import {RECEIVE_SETTING_EVENT, SAVE_SETTING_EVENT, eventBus} from '@utils';
@@ -60,7 +60,12 @@ export function useTable<T extends Record<string, any>>(
   data: T[],
   options: {pageSize: number; preloadKey?: string},
 ) {
-  const columnList = useRef(parseColumn(columns));
+  const columnList = useMemo(
+    function () {
+      return parseColumn(columns);
+    },
+    [columns],
+  );
   const preload = usePreloadSettingData(options.preloadKey);
 
   const [columnSizing, setColumnSizing] = useState(function () {
@@ -88,7 +93,7 @@ export function useTable<T extends Record<string, any>>(
 
   const table = useReactTable({
     data,
-    columns: columnList.current,
+    columns: columnList,
     state: {
       columnSizing,
       columnOrder,

+ 5 - 1
packages/app/src/components/table/index.tsx

@@ -54,7 +54,11 @@ function Table<T extends Record<string, any>>(props: Props<T>): ReactElement {
 
   return (
     <Spin spinning={isSearching}>
-      <div className={css.tableWrapper} id='table_wrapper'>
+      <div
+        className={css.tableWrapper}
+        id='table_wrapper'
+        data-testid={props['data-testid']}
+      >
         <DndContext
           onDragStart={onDragStart}
           onDragEnd={onDragEnd}