@hw-component/table 0.0.4-beta-v3 → 0.0.4-beta-v7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/es/HTableFooter/index.d.ts +1 -1
  2. package/es/ModalTable/hooks.d.ts +26 -0
  3. package/es/ModalTable/hooks.js +70 -0
  4. package/es/ModalTable/index.d.ts +3 -0
  5. package/es/ModalTable/index.js +91 -0
  6. package/es/Table.js +1 -1
  7. package/es/hooks/useReq.d.ts +1 -1
  8. package/es/index.d.ts +2 -0
  9. package/es/index.js +2 -0
  10. package/es/modal.d.ts +24 -0
  11. package/lib/HTableFooter/index.d.ts +1 -1
  12. package/lib/ModalTable/hooks.d.ts +26 -0
  13. package/lib/ModalTable/hooks.js +74 -0
  14. package/lib/ModalTable/index.d.ts +3 -0
  15. package/lib/ModalTable/index.js +94 -0
  16. package/lib/Table.js +1 -1
  17. package/lib/hooks/useReq.d.ts +1 -1
  18. package/lib/index.d.ts +2 -0
  19. package/lib/index.js +4 -0
  20. package/lib/modal.d.ts +24 -0
  21. package/package.json +1 -1
  22. package/src/components/HTableBody/index.tsx +28 -12
  23. package/src/components/HTableFooter/index.tsx +27 -16
  24. package/src/components/HTableHeader/utils.ts +3 -3
  25. package/src/components/ModalTable/hooks.ts +58 -0
  26. package/src/components/ModalTable/index.tsx +71 -0
  27. package/src/components/Table.tsx +22 -21
  28. package/src/components/TableCustomize.tsx +6 -5
  29. package/src/components/context.ts +1 -1
  30. package/src/components/hooks/useCurrentTable.ts +1 -1
  31. package/src/components/hooks/useHTable.tsx +1 -1
  32. package/src/components/hooks/useReq.ts +36 -27
  33. package/src/components/hooks/useRowObj.ts +2 -2
  34. package/src/components/index.tsx +2 -0
  35. package/src/components/modal.ts +28 -4
  36. package/src/pages/ModalTable/index.tsx +93 -0
  37. package/src/pages/Table/index.tsx +14 -14
  38. package/src/pages/TableCustomize/index.tsx +28 -25
  39. package/src/routes.tsx +6 -1
@@ -4,7 +4,7 @@ import type { ActionRenderFn } from "../modal";
4
4
  import { useHTableContext } from "../context";
5
5
  import React from "react";
6
6
  import type { HTableInstance, ResultModal, RowObj } from "../modal";
7
- import type {FooterBtnRenderFn} from "../modal";
7
+ import type { FooterBtnRenderFn } from "../modal";
8
8
 
9
9
  const { Text, Link } = Typography;
10
10
  interface IFooterProps {
@@ -15,15 +15,20 @@ interface IFooterProps {
15
15
  data?: ResultModal
16
16
  ) => React.ReactNode;
17
17
  footerStyle?: React.CSSProperties;
18
- footerBtnRender?: FooterBtnRenderFn
18
+ footerBtnRender?: FooterBtnRenderFn;
19
19
  }
20
- export default ({ actionRender, footerRender, footerStyle ,footerBtnRender}: IFooterProps) => {
20
+ export default ({
21
+ actionRender,
22
+ footerRender,
23
+ footerStyle,
24
+ footerBtnRender,
25
+ }: IFooterProps) => {
21
26
  const {
22
27
  data,
23
28
  selectedRowData = {},
24
29
  allSelectChange,
25
30
  tableInstance,
26
- setSelectedRowData
31
+ setSelectedRowData,
27
32
  } = useHTableContext();
28
33
  const { total = "0" } = data || {};
29
34
  const totalNum = Number.parseInt(total, 10);
@@ -33,21 +38,25 @@ export default ({ actionRender, footerRender, footerStyle ,footerBtnRender}: IFo
33
38
  if (footerRender) {
34
39
  return <>{footerRender(tableInstance, selectedRowData, data)}</>;
35
40
  }
36
- const btnDom= <Space size={20}>
37
- <Button
41
+ const btnDom = (
42
+ <Space size={20}>
43
+ <Button
38
44
  type={"primary"}
39
45
  ghost
40
46
  disabled={showTotalNum == 0}
41
47
  style={{ padding: "4px 24px", borderRadius: "4px" }}
42
- onClick={()=>{allSelectChange?.()}}
43
- >
44
- {!selectAll ? "选择全部" : "取消选择"}
45
- </Button>
46
- <Text type={"secondary"}>共{total}条</Text>
47
- <Text type={"secondary"}>
48
- 已选择<Link>{num}</Link>条
49
- </Text>
50
- </Space>;
48
+ onClick={() => {
49
+ allSelectChange?.();
50
+ }}
51
+ >
52
+ {!selectAll ? "选择全部" : "取消选择"}
53
+ </Button>
54
+ <Text type={"secondary"}>共{total}条</Text>
55
+ <Text type={"secondary"}>
56
+ 已选择<Link>{num}</Link>条
57
+ </Text>
58
+ </Space>
59
+ );
51
60
  const dom = (
52
61
  <Card
53
62
  style={{ borderRadius: 4, ...footerStyle }}
@@ -55,7 +64,9 @@ export default ({ actionRender, footerRender, footerStyle ,footerBtnRender}: IFo
55
64
  className="hw_table_footer"
56
65
  >
57
66
  <Row justify="space-between" align="middle">
58
- {footerBtnRender?footerBtnRender(btnDom,total,selectedRowData,setSelectedRowData):btnDom}
67
+ {footerBtnRender
68
+ ? footerBtnRender(btnDom, total, selectedRowData, setSelectedRowData)
69
+ : btnDom}
59
70
  {actionRender?.(selectedRowData, tableInstance)}
60
71
  </Row>
61
72
  </Card>
@@ -45,12 +45,12 @@ function formConfigDataItemProvider({
45
45
  title,
46
46
  name,
47
47
  dataIndex,
48
- itemProps={},
48
+ itemProps = {},
49
49
  searchRender,
50
50
  }: ConfigItemModal): HItemProps {
51
- const {allowClear=true}=(itemProps as any);
51
+ const { allowClear = true } = itemProps as any;
52
52
  return {
53
- itemProps:{
53
+ itemProps: {
54
54
  ...itemProps,
55
55
  allowClear,
56
56
  },
@@ -0,0 +1,58 @@
1
+ import useHTable from "../hooks/useHTable";
2
+ import type {
3
+ HDiaLogTableInstance,
4
+ HOnDiaLogTableInstance,
5
+ ModalTableProps,
6
+ } from "../modal";
7
+ import { useEffect, useState } from "react";
8
+ import type { DialogParamsModal } from "../modal";
9
+
10
+ export const useHDialogTable = () => {
11
+ const tableInstance = useHTable();
12
+ return {
13
+ ...tableInstance,
14
+ show: (params: DialogParamsModal) => {},
15
+ hide: () => {},
16
+ } as HDiaLogTableInstance;
17
+ };
18
+ interface ParamsModal extends HOnDiaLogTableInstance {
19
+ dialogTable?: HDiaLogTableInstance;
20
+ }
21
+ export const useTableProps = ({
22
+ configData,
23
+ params,
24
+ title,
25
+ request,
26
+ }: Omit<ModalTableProps, "tableProps">) => {
27
+ const [modalTableParams, setModalTableParams] = useState({
28
+ params,
29
+ title,
30
+ configData,
31
+ request
32
+ });
33
+ return {
34
+ modalTableParams,
35
+ setModalTableParams,
36
+ };
37
+ };
38
+ export const useCurrentTable = ({ show, hide, dialogTable }: ParamsModal) => {
39
+ const cuDialogTableInstance = useHDialogTable();
40
+ const dialogTableInstance = dialogTable || cuDialogTableInstance;
41
+ useEffect(() => {
42
+ dialogTableInstance.show = show;
43
+ dialogTableInstance.hide = hide;
44
+ }, []);
45
+ return dialogTableInstance;
46
+ };
47
+
48
+ export const useVisible = (visible: boolean) => {
49
+ const [modalVisible, setModalVisible] = useState(visible);
50
+ useEffect(() => {
51
+ setModalVisible(visible);
52
+ }, [visible]);
53
+
54
+ return {
55
+ modalVisible,
56
+ setModalVisible,
57
+ };
58
+ };
@@ -0,0 +1,71 @@
1
+ import { Modal } from "antd";
2
+ import Table from "../Table";
3
+ import type { ModalTableProps } from "../modal";
4
+ import { useCurrentTable, useTableProps, useVisible } from "./hooks";
5
+ export default ({
6
+ configData:configDataProps,
7
+ request:requestProps,
8
+ tableProps,
9
+ dialogTable,
10
+ visible = false,
11
+ onCancel,
12
+ ...props
13
+ }: ModalTableProps) => {
14
+ const { modalVisible, setModalVisible } = useVisible(visible);
15
+ const { modalTableParams, setModalTableParams } = useTableProps({
16
+ ...props,
17
+ configData:configDataProps,
18
+ request:requestProps
19
+ });
20
+ const currentTable = useCurrentTable({
21
+ show: (showParams) => {
22
+ if (showParams) {
23
+ setModalTableParams((oldParams) => {
24
+ const { configData, request, title } = oldParams;
25
+ const {
26
+ title: showTitle = title,
27
+ configData: showConfigData = configData,
28
+ request: showReq,
29
+ params = request,
30
+ } = showParams;
31
+ return {
32
+ title: showTitle,
33
+ request: showReq,
34
+ configData: showConfigData,
35
+ params,
36
+ };
37
+ });
38
+ }
39
+ setModalVisible(true);
40
+ },
41
+ hide: () => {
42
+ setModalVisible(false);
43
+ },
44
+ dialogTable,
45
+ });
46
+ const { configData, request, title, params } = modalTableParams;
47
+ const req = request
48
+ ? (reqParams) => {
49
+ return request({ ...params, ...reqParams });
50
+ }
51
+ : undefined;
52
+ return (
53
+ <Modal
54
+ {...props}
55
+ visible={modalVisible}
56
+ onCancel={(e) => {
57
+ setModalVisible(false);
58
+ onCancel?.(e);
59
+ }}
60
+ destroyOnClose
61
+ title={title}
62
+ >
63
+ <Table
64
+ {...tableProps}
65
+ configData={configData||[]}
66
+ table={currentTable}
67
+ request={req}
68
+ />
69
+ </Modal>
70
+ );
71
+ };
@@ -23,12 +23,13 @@ export default ({
23
23
  spaceSize = 15,
24
24
  className,
25
25
  paginationStyle,
26
- footerBtnRender,
26
+ footerBtnRender,
27
27
  ...props
28
28
  }: HTableProps) => {
29
29
  const { run, loading, data, error, saveParams } = useReq({ request });
30
30
  const dispatch = useDispatch(action);
31
- const { selectedRowData, rowOnChange, allSelectChange ,setSelectedRowData} = useRowObj();
31
+ const { selectedRowData, rowOnChange, allSelectChange, setSelectedRowData } =
32
+ useRowObj();
32
33
  const tableInstance = useCurrentTable({
33
34
  table,
34
35
  reload: (params) => {
@@ -62,27 +63,27 @@ export default ({
62
63
  return run(value);
63
64
  },
64
65
  onPageChange: tableInstance.table.reloadWithParams,
65
- setSelectedRowData
66
+ setSelectedRowData,
66
67
  }}
67
68
  >
68
- <Space direction={"vertical"} size={spaceSize} style={{width:'100%'}}>
69
- {!hideHeader && (
70
- <Header searchSpan={searchSpan} headerStyle={headerStyle} />
71
- )}
72
- <Body
73
- tableStyle={tableStyle}
74
- paginationStyle={paginationStyle}
75
- {...props}
76
- />
77
- {footerRender !== false && (
78
- <Footer
79
- actionRender={actionRender}
80
- footerRender={footerRender}
81
- footerStyle={footerStyle}
82
- footerBtnRender={footerBtnRender}
83
- />
84
- )}
85
- </Space>
69
+ <Space direction={"vertical"} size={spaceSize} style={{ width: "100%" }}>
70
+ {!hideHeader && (
71
+ <Header searchSpan={searchSpan} headerStyle={headerStyle} />
72
+ )}
73
+ <Body
74
+ tableStyle={tableStyle}
75
+ paginationStyle={paginationStyle}
76
+ {...props}
77
+ />
78
+ {footerRender !== false && (
79
+ <Footer
80
+ actionRender={actionRender}
81
+ footerRender={footerRender}
82
+ footerStyle={footerStyle}
83
+ footerBtnRender={footerBtnRender}
84
+ />
85
+ )}
86
+ </Space>
86
87
  </HTableContext.Provider>
87
88
  );
88
89
  };
@@ -19,7 +19,8 @@ const Index: React.FC<HTableProps> = ({
19
19
  ...props,
20
20
  } as IParamsModal);
21
21
  const dispatch = useDispatch(action);
22
- const { selectedRowData, rowOnChange, allSelectChange ,setSelectedRowData} = useRowObj();
22
+ const { selectedRowData, rowOnChange, allSelectChange, setSelectedRowData } =
23
+ useRowObj();
23
24
  const tableInstance = useCurrentTable({
24
25
  table,
25
26
  reload: (params) => {
@@ -32,9 +33,9 @@ const Index: React.FC<HTableProps> = ({
32
33
  rowOnChange([], []);
33
34
  return run({ ...saveParams.old, ...reloadParams });
34
35
  },
35
- getTableParams:()=>{
36
- return saveParams.old;
37
- }
36
+ getTableParams: () => {
37
+ return saveParams.old;
38
+ },
38
39
  });
39
40
  return (
40
41
  <HTableContext.Provider
@@ -54,7 +55,7 @@ const Index: React.FC<HTableProps> = ({
54
55
  return run(value);
55
56
  },
56
57
  onPageChange: tableInstance.table.reloadWithParams,
57
- setSelectedRowData
58
+ setSelectedRowData,
58
59
  }}
59
60
  >
60
61
  {children}
@@ -13,7 +13,7 @@ interface HContextModal extends Omit<HTableProps, "request"> {
13
13
  params?: any;
14
14
  onFinish: (value: Record<string, any>) => Promise<any>;
15
15
  onPageChange: (value: Record<string, any>) => Promise<any>;
16
- setSelectedRowData:(row:RowObj)=>void;
16
+ setSelectedRowData: (row: RowObj) => void;
17
17
  }
18
18
 
19
19
  export const HTableContext = React.createContext<HContextModal | null>(null);
@@ -17,7 +17,7 @@ export default ({
17
17
  changeRowData,
18
18
  dispatch,
19
19
  reloadWithParams,
20
- getTableParams,
20
+ getTableParams,
21
21
  }: currentTableParams) => {
22
22
  const useCurrentTable = useHTable();
23
23
  return useMemo(() => {
@@ -15,7 +15,7 @@ export default () => {
15
15
  return Promise.resolve(params);
16
16
  },
17
17
  getParams: () => {
18
- return ({} as any);
18
+ return {} as any;
19
19
  },
20
20
  };
21
21
  }, []);
@@ -1,4 +1,4 @@
1
- import {useEffect, useMemo} from "react";
1
+ import { useEffect, useMemo } from "react";
2
2
  import { useRequest } from "ahooks";
3
3
  import type { ParamsModal, ResultModal } from "@/components/modal";
4
4
  export interface IParamsModal {
@@ -7,50 +7,59 @@ export interface IParamsModal {
7
7
  error?: Error;
8
8
  reload?: (params: any) => Promise<any>;
9
9
  dataSource?: any;
10
- manual?: boolean
10
+ manual?: boolean;
11
11
  }
12
- export default ({ request ,loading,error,reload,dataSource,manual=false}: IParamsModal) => {
12
+ export default ({
13
+ request,
14
+ loading,
15
+ error,
16
+ reload,
17
+ dataSource,
18
+ manual = false,
19
+ }: IParamsModal) => {
13
20
  const saveParams = useMemo(() => {
14
21
  return {
15
22
  old: {},
16
23
  };
17
24
  }, []);
18
- const reloadFn=async (params: Record<string, any>={})=>{
25
+ const reloadFn = async (params: Record<string, any> = {}) => {
19
26
  const { size = "10", current = "1", ...oParams } = params;
20
27
  const reqParams = { size, current, ...oParams };
21
28
  saveParams.old = reqParams;
22
29
  return reload?.(reqParams);
23
- }
24
- const resultAction = useRequest((params = {}) => {
25
- const { size = "10", current = "1", ...oParams } = params;
26
- const reqParams = { size, current, ...oParams };
27
- saveParams.old = reqParams;
28
- return request?.(reqParams);
29
- },{manual:true});
30
+ };
31
+ const resultAction = useRequest(
32
+ (params = {}) => {
33
+ const { size = "10", current = "1", ...oParams } = params;
34
+ const reqParams = { size, current, ...oParams };
35
+ saveParams.old = reqParams;
36
+ return request?.(reqParams);
37
+ },
38
+ { manual: true }
39
+ );
30
40
 
31
- useEffect(()=>{
32
- if (manual){
33
- return;
34
- }
35
- if (request){
36
- resultAction.run();
37
- return;
38
- }
39
- reloadFn();
40
- },[]);
41
+ useEffect(() => {
42
+ if (manual) {
43
+ return;
44
+ }
45
+ if (request) {
46
+ resultAction.run();
47
+ return;
48
+ }
49
+ reloadFn();
50
+ }, []);
41
51
 
42
- if (request){
52
+ if (request) {
43
53
  return {
44
54
  ...resultAction,
45
55
  saveParams,
46
56
  };
47
57
  }
48
- return {
58
+ return {
49
59
  loading,
50
60
  error,
51
- data:dataSource,
52
- run:reloadFn,
61
+ data: dataSource,
62
+ run: reloadFn,
53
63
  saveParams,
54
-
55
- }
64
+ };
56
65
  };
@@ -12,7 +12,7 @@ export default () => {
12
12
  });
13
13
  };
14
14
  const allSelectChange = (checked?: boolean) => {
15
- const newChecked=typeof checked==="undefined"?!selectAll:checked;
15
+ const newChecked = typeof checked === "undefined" ? !selectAll : checked;
16
16
  setSelectedRowData({
17
17
  selectAll: newChecked,
18
18
  });
@@ -22,6 +22,6 @@ export default () => {
22
22
  rowOnChange,
23
23
  selectedRowData,
24
24
  allSelectChange,
25
- setSelectedRowData
25
+ setSelectedRowData,
26
26
  };
27
27
  };
@@ -7,3 +7,5 @@ export { default as HTableBody } from "./HTableBody";
7
7
  export { default as HTableFooter } from "./HTableFooter";
8
8
  export { default as HTableHeader } from "./HTableHeader";
9
9
  export { default as HTablePagination } from "./HTablePagination";
10
+ export { default as HModalTable } from "./ModalTable";
11
+ export { useHDialogTable } from "./ModalTable/hooks";
@@ -6,6 +6,7 @@ import type {
6
6
  } from "@hw-component/form/es/Form/modal";
7
7
  import type { ColProps } from "antd";
8
8
  import type React from "react";
9
+ import type { ModalProps } from "antd";
9
10
 
10
11
  export interface RowObj {
11
12
  keys?: React.Key[];
@@ -40,10 +41,10 @@ export type ActionRenderFn = (
40
41
  tableInstance: HTableInstance
41
42
  ) => React.ReactNode;
42
43
  export type FooterBtnRenderFn = (
43
- dom: React.ReactNode,
44
- total: string,
45
- selectedRowKeys: RowObj,
46
- setAllCheck: (row: RowObj) => void
44
+ dom: React.ReactNode,
45
+ total: string,
46
+ selectedRowKeys: RowObj,
47
+ setAllCheck: (row: RowObj) => void
47
48
  ) => React.ReactNode;
48
49
  export type actionFn = (...arg) => void;
49
50
  type FooterRenderFn = (
@@ -89,3 +90,26 @@ export interface HTableInstance {
89
90
  form: HFormInstance;
90
91
  table: TableInstance;
91
92
  }
93
+ export interface DialogParamsModal {
94
+ configData?: HTableProps["configData"];
95
+ request?: HTableProps["request"];
96
+ params?: Record<string, any>;
97
+ title?: string;
98
+ }
99
+ export interface HOnDiaLogTableInstance {
100
+ show: (params?: DialogParamsModal) => void;
101
+ hide: () => void;
102
+ }
103
+ export interface HDiaLogTableInstance {
104
+ form: HFormInstance;
105
+ table: TableInstance;
106
+ show: (params?: DialogParamsModal) => void;
107
+ hide: () => void;
108
+ }
109
+ export interface ModalTableProps extends ModalProps {
110
+ tableProps: HTableProps;
111
+ dialogTable?: HDiaLogTableInstance;
112
+ params?: Record<string, any>;
113
+ configData?: HTableProps["configData"];
114
+ request?: HTableProps["request"];
115
+ }
@@ -0,0 +1,93 @@
1
+ import { Button } from "antd";
2
+ import { HModalTable, useHDialogTable } from "../../components";
3
+ const configData = [
4
+ {
5
+ title: "座位",
6
+ showSearch: true,
7
+ searchType: "select",
8
+ dataIndex: "name",
9
+ itemProps: {
10
+ options: [{ label: "1", value: 1 }],
11
+ },
12
+ },
13
+ {
14
+ title: "操作",
15
+ name: "aaa",
16
+ fixed: "right",
17
+ width: 200,
18
+ showSearch: true,
19
+ render: () => {
20
+ return <div>fff</div>;
21
+ },
22
+ },
23
+ ];
24
+ const req1 = (params) => {
25
+ console.log(params, "req1");
26
+ const { current = 1 } = params;
27
+ return new Promise((resolve, reject) => {
28
+ setTimeout(() => {
29
+ // reject(new Error("错误"));
30
+ resolve({
31
+ size: "10",
32
+ current: current.toString(10),
33
+ total: "100",
34
+ records: [
35
+ {
36
+ id: 1,
37
+ name: "111",
38
+ },
39
+ ],
40
+ });
41
+ }, 2000);
42
+ });
43
+ };
44
+
45
+ const req2 = (params) => {
46
+ console.log(params, "req2");
47
+ const { current = 1 } = params;
48
+ return new Promise((resolve, reject) => {
49
+ setTimeout(() => {
50
+ // reject(new Error("错误"));
51
+ resolve({
52
+ size: "10",
53
+ current: current.toString(10),
54
+ total: "100",
55
+ records: [
56
+ {
57
+ id: 1,
58
+ name: "111",
59
+ },
60
+ ],
61
+ });
62
+ }, 2000);
63
+ });
64
+ };
65
+ export default () => {
66
+ const dialogTable = useHDialogTable();
67
+ return (
68
+ <>
69
+ <Button
70
+ onClick={() => {
71
+ dialogTable.show({
72
+ title: "12312",
73
+ request: req1,
74
+ params: { name: 23123 },
75
+ });
76
+ }}
77
+ >
78
+ 点我
79
+ </Button>
80
+ <Button
81
+ onClick={() => {
82
+ dialogTable.show({ title: "3333", request: req2 });
83
+ }}
84
+ >
85
+ 点我333
86
+ </Button>
87
+ <HModalTable
88
+ dialogTable={dialogTable}
89
+ configData={configData}
90
+ />
91
+ </>
92
+ );
93
+ };
@@ -8,25 +8,25 @@ const configData = [
8
8
  showSearch: true,
9
9
  searchType: "select",
10
10
  dataIndex: "name",
11
- itemProps:{
12
- options:[{label:"1",value:1}]
13
- }
11
+ itemProps: {
12
+ options: [{ label: "1", value: 1 }],
13
+ },
14
14
  },
15
15
  {
16
16
  title: "操作",
17
17
  name: "aaa",
18
- fixed:"right",
19
- width:200,
18
+ fixed: "right",
19
+ width: 200,
20
20
  showSearch: true,
21
- render:()=>{
22
- return <div>fff</div>
23
- }
21
+ render: () => {
22
+ return <div>fff</div>;
23
+ },
24
24
  },
25
25
  ];
26
- const Test=({name,selectedRowData})=>{
27
- console.log(selectedRowData);
28
- return <div>{name}</div>
29
- }
26
+ const Test = ({ name, selectedRowData }) => {
27
+ console.log(selectedRowData);
28
+ return <div>{name}</div>;
29
+ };
30
30
  export default () => {
31
31
  const hTable = useHTable();
32
32
  return (
@@ -35,9 +35,9 @@ export default () => {
35
35
  configData={configData}
36
36
  rowKey={"id"}
37
37
  table={hTable}
38
- scroll={{x:1000,y:100}}
38
+ scroll={{ x: 1000, y: 100 }}
39
39
  rowSelection={false}
40
- headerTitle={<Test name="321321"/>}
40
+ headerTitle={<Test name="321321" />}
41
41
  actionRender={(allCheck, selectedRowKeys, xjTable) => {
42
42
  console.log(allCheck, selectedRowKeys, xjTable);
43
43
  return <Button>点我</Button>;