@hw-component/table 1.10.47 → 1.10.50

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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { ActionRenderFn } from "src/components/modal";
2
+ import type { ActionRenderFn } from "../modal";
3
3
  interface IProps {
4
4
  actionRender?: ActionRenderFn;
5
5
  }
@@ -13,7 +13,8 @@ interface FilterKeysModal {
13
13
  records?: any[];
14
14
  rowKey?: string | GetRowKey<any>;
15
15
  preserveSelectedRowKeys?: boolean;
16
+ selectedRowData?: Record<string, any>[];
16
17
  }
17
- export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys }: FilterKeysModal) => void;
18
+ export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, }: FilterKeysModal) => void;
18
19
  export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
19
20
  export {};
@@ -1,9 +1,11 @@
1
1
  // welcome to hoo hoo hoo
2
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
2
3
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
3
4
  import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
4
5
  import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
5
6
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
6
7
  import _findIndexInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find-index';
8
+ import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
7
9
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
8
10
  import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
9
11
  import { useState, useEffect, useMemo } from 'react';
@@ -92,8 +94,10 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
92
94
  var _useHTableContext = useHTableContext(),
93
95
  rowOnChange = _useHTableContext.rowOnChange;
94
96
  var findId = function findId(key) {
97
+ var _context, _context2;
98
+ var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
95
99
  var msRecords = records;
96
- var rowIndex = _findIndexInstanceProperty(msRecords).call(msRecords, function (item, index) {
100
+ var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
97
101
  var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
98
102
  return id === key;
99
103
  });
@@ -108,6 +112,7 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
108
112
  return findId(key);
109
113
  });
110
114
  rowOnChange(selectedRowKeys, resultData);
115
+ return;
111
116
  }
112
117
  }, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
113
118
  };
@@ -110,7 +110,8 @@ var Body = (function (bodyProps) {
110
110
  selectedRowKeys: selectedRowKeys,
111
111
  records: records,
112
112
  rowKey: rowKey,
113
- preserveSelectedRowKeys: preserveSelectedRowKeys
113
+ preserveSelectedRowKeys: preserveSelectedRowKeys,
114
+ selectedRowData: selectedRowData.rowData
114
115
  });
115
116
  var optionsNode = options && jsx(Options, _objectSpread(_objectSpread({
116
117
  reload: function reload() {
@@ -2,6 +2,17 @@
2
2
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
3
3
  import { useState } from 'react';
4
4
 
5
+ var initSelectedData = function initSelectedData(rowSelection) {
6
+ if (!rowSelection) {
7
+ return {};
8
+ }
9
+ var selectedRowKeys = rowSelection.selectedRowKeys,
10
+ selectedRowData = rowSelection.selectedRowData;
11
+ return {
12
+ keys: selectedRowKeys,
13
+ rowData: selectedRowData
14
+ };
15
+ };
5
16
  var useRowObj = (function (rowSelection) {
6
17
  var change = function change(keys, rowData) {
7
18
  if (rowSelection === false) {
@@ -11,7 +22,7 @@ var useRowObj = (function (rowSelection) {
11
22
  onChange = _ref.onChange;
12
23
  onChange === null || onChange === void 0 || onChange(keys, rowData);
13
24
  };
14
- var _useState = useState({}),
25
+ var _useState = useState(initSelectedData(rowSelection)),
15
26
  _useState2 = _slicedToArray(_useState, 2),
16
27
  selectedRowData = _useState2[0],
17
28
  setSelectedRowData = _useState2[1];
@@ -36,6 +47,7 @@ var useRowObj = (function (rowSelection) {
36
47
  }
37
48
  var _ref2 = rowSelection || {},
38
49
  preserveSelectedRowKeys = _ref2.preserveSelectedRowKeys;
50
+ console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
39
51
  if (preserveSelectedRowKeys) {
40
52
  return;
41
53
  }
package/es/modal.d.ts CHANGED
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
52
52
  export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
53
53
  alwaysShowAlert?: boolean;
54
54
  allCheckType?: "batch" | "single";
55
+ selectedRowData?: Record<string, any>[];
55
56
  });
56
57
  export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
57
58
  request?: (params: ParamsModal) => Promise<ResultModal>;
@@ -6,7 +6,7 @@ import { ResultModal } from "../modal";
6
6
  export declare const useListRequest: ({ request, dataSource, manual, }: HEditTableProps) => {
7
7
  loading: boolean;
8
8
  error: Error | undefined;
9
- run: (params?: any) => Promise<void>;
9
+ run: (params?: any, sorter?: any) => Promise<void>;
10
10
  data: ResultModal;
11
11
  };
12
12
  export declare const useEditTable: () => EditTableInstance;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
4
3
  var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
5
4
  var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
6
5
  var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
@@ -12,6 +11,7 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
12
11
  var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
13
12
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
14
13
  var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
14
+ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
15
15
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
16
16
  var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
17
17
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
@@ -39,42 +39,68 @@ var useListRequest = function useListRequest(_ref) {
39
39
  params: {
40
40
  current: 1,
41
41
  pageSize: 10
42
- }
42
+ },
43
+ sorter: {}
43
44
  };
44
45
  }, []);
46
+ var sorterParamsFn = function sorterParamsFn() {
47
+ var sorter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
48
+ var keysLen = _Object$keys(sorter).length;
49
+ if (keysLen === 0) {
50
+ return saveParams.sorter;
51
+ }
52
+ return sorter;
53
+ };
54
+ var sorterMk = function sorterMk(sorter) {
55
+ var keys = _Object$keys(sorter);
56
+ if (keys.length === 0) {
57
+ return {};
58
+ }
59
+ var orderByField = keys[0];
60
+ var asc = sorter[orderByField];
61
+ return {
62
+ orderByField: orderByField,
63
+ asc: asc === "ascend"
64
+ };
65
+ };
45
66
  var _useRequest = ahooks.useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
46
67
  var params,
68
+ sorter,
47
69
  newParams,
70
+ cuSorter,
48
71
  result,
49
72
  _args = arguments;
50
73
  return _regeneratorRuntime.wrap(function _callee$(_context) {
51
74
  while (1) switch (_context.prev = _context.next) {
52
75
  case 0:
53
76
  params = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
77
+ sorter = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
54
78
  newParams = _objectSpread(_objectSpread({}, saveParams.params), params);
79
+ cuSorter = sorterParamsFn(sorter);
80
+ saveParams.sorter = cuSorter;
55
81
  saveParams.params = newParams;
56
82
  if (!request) {
57
- _context.next = 9;
83
+ _context.next = 12;
58
84
  break;
59
85
  }
60
- _context.next = 6;
61
- return request(newParams);
62
- case 6:
86
+ _context.next = 9;
87
+ return request(_objectSpread(_objectSpread({}, newParams), sorterMk(cuSorter)));
88
+ case 9:
63
89
  result = _context.sent;
64
90
  setTableDataSource(result);
65
91
  return _context.abrupt("return");
66
- case 9:
92
+ case 12:
67
93
  if (!_Array$isArray(dataSource)) {
68
- _context.next = 12;
94
+ _context.next = 15;
69
95
  break;
70
96
  }
71
97
  setTableDataSource(_objectSpread(_objectSpread({}, tableDataSource), {}, {
72
98
  records: dataSource
73
99
  }));
74
100
  return _context.abrupt("return");
75
- case 12:
101
+ case 15:
76
102
  return _context.abrupt("return", setTableDataSource(dataSource || tableDataSource));
77
- case 13:
103
+ case 16:
78
104
  case "end":
79
105
  return _context.stop();
80
106
  }
@@ -14,6 +14,7 @@ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator
14
14
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
15
15
  var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
16
16
  var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
17
+ var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
17
18
  var jsxRuntime = require('react/jsx-runtime');
18
19
  var ProTable = require('@ant-design/pro-table');
19
20
  var index = require('../hooks/index.js');
@@ -104,6 +105,11 @@ var EditTable = (function (_ref) {
104
105
  editableFormRef: defaultEditableFormRef,
105
106
  actionRef: defaultActionRef,
106
107
  value: data === null || data === void 0 ? void 0 : data.records,
108
+ manualRequest: true,
109
+ request: function request(params, sorter) {
110
+ run({}, sorter);
111
+ return _Promise.resolve({});
112
+ },
107
113
  recordCreatorProps: recordCreatorProps === false ? recordCreatorProps : _objectSpread({
108
114
  position: "bottom",
109
115
  record: function record() {
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { ActionRenderFn } from "src/components/modal";
2
+ import type { ActionRenderFn } from "../modal";
3
3
  interface IProps {
4
4
  actionRender?: ActionRenderFn;
5
5
  }
@@ -13,7 +13,8 @@ interface FilterKeysModal {
13
13
  records?: any[];
14
14
  rowKey?: string | GetRowKey<any>;
15
15
  preserveSelectedRowKeys?: boolean;
16
+ selectedRowData?: Record<string, any>[];
16
17
  }
17
- export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys }: FilterKeysModal) => void;
18
+ export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, }: FilterKeysModal) => void;
18
19
  export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
19
20
  export {};
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
3
4
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
4
5
  var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
5
6
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
6
7
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
7
8
  var _findIndexInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find-index');
9
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
8
10
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
9
11
  var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
10
12
  var React = require('react');
@@ -93,8 +95,10 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
93
95
  var _useHTableContext = context.useHTableContext(),
94
96
  rowOnChange = _useHTableContext.rowOnChange;
95
97
  var findId = function findId(key) {
98
+ var _context, _context2;
99
+ var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
96
100
  var msRecords = records;
97
- var rowIndex = _findIndexInstanceProperty(msRecords).call(msRecords, function (item, index) {
101
+ var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
98
102
  var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
99
103
  return id === key;
100
104
  });
@@ -109,6 +113,7 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
109
113
  return findId(key);
110
114
  });
111
115
  rowOnChange(selectedRowKeys, resultData);
116
+ return;
112
117
  }
113
118
  }, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
114
119
  };
@@ -113,7 +113,8 @@ var Body = (function (bodyProps) {
113
113
  selectedRowKeys: selectedRowKeys,
114
114
  records: records,
115
115
  rowKey: rowKey,
116
- preserveSelectedRowKeys: preserveSelectedRowKeys
116
+ preserveSelectedRowKeys: preserveSelectedRowKeys,
117
+ selectedRowData: selectedRowData.rowData
117
118
  });
118
119
  var optionsNode = options && jsxRuntime.jsx(index.default, _objectSpread(_objectSpread({
119
120
  reload: function reload() {
@@ -5,6 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
6
6
  var React = require('react');
7
7
 
8
+ var initSelectedData = function initSelectedData(rowSelection) {
9
+ if (!rowSelection) {
10
+ return {};
11
+ }
12
+ var selectedRowKeys = rowSelection.selectedRowKeys,
13
+ selectedRowData = rowSelection.selectedRowData;
14
+ return {
15
+ keys: selectedRowKeys,
16
+ rowData: selectedRowData
17
+ };
18
+ };
8
19
  var useRowObj = (function (rowSelection) {
9
20
  var change = function change(keys, rowData) {
10
21
  if (rowSelection === false) {
@@ -14,7 +25,7 @@ var useRowObj = (function (rowSelection) {
14
25
  onChange = _ref.onChange;
15
26
  onChange === null || onChange === void 0 || onChange(keys, rowData);
16
27
  };
17
- var _useState = React.useState({}),
28
+ var _useState = React.useState(initSelectedData(rowSelection)),
18
29
  _useState2 = _slicedToArray(_useState, 2),
19
30
  selectedRowData = _useState2[0],
20
31
  setSelectedRowData = _useState2[1];
@@ -39,6 +50,7 @@ var useRowObj = (function (rowSelection) {
39
50
  }
40
51
  var _ref2 = rowSelection || {},
41
52
  preserveSelectedRowKeys = _ref2.preserveSelectedRowKeys;
53
+ console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
42
54
  if (preserveSelectedRowKeys) {
43
55
  return;
44
56
  }
package/lib/modal.d.ts CHANGED
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
52
52
  export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
53
53
  alwaysShowAlert?: boolean;
54
54
  allCheckType?: "batch" | "single";
55
+ selectedRowData?: Record<string, any>[];
55
56
  });
56
57
  export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
57
58
  request?: (params: ParamsModal) => Promise<ResultModal>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/table",
3
- "version": "1.10.47",
3
+ "version": "1.10.50",
4
4
  "description": "基于antd二次开发table组件",
5
5
  "keywords": [
6
6
  "table"
@@ -23,17 +23,42 @@ export const useListRequest = ({
23
23
  current: 1,
24
24
  pageSize: 10,
25
25
  },
26
+ sorter: {},
26
27
  };
27
28
  }, []);
29
+ const sorterParamsFn = (sorter = {}) => {
30
+ const keysLen = Object.keys(sorter).length;
31
+ if (keysLen === 0) {
32
+ return saveParams.sorter;
33
+ }
34
+ return sorter;
35
+ };
36
+ const sorterMk = (sorter) => {
37
+ const keys = Object.keys(sorter);
38
+ if (keys.length === 0) {
39
+ return {};
40
+ }
41
+ const orderByField = keys[0];
42
+ const asc = sorter[orderByField];
43
+ return {
44
+ orderByField,
45
+ asc: asc === "ascend",
46
+ };
47
+ };
28
48
  const { loading, error, run } = useRequest(
29
- async (params = {}) => {
49
+ async (params = {}, sorter = {}) => {
30
50
  const newParams = {
31
51
  ...saveParams.params,
32
52
  ...params,
33
53
  };
54
+ const cuSorter = sorterParamsFn(sorter);
55
+ saveParams.sorter = cuSorter;
34
56
  saveParams.params = newParams;
35
57
  if (request) {
36
- const result = await request(newParams);
58
+ const result = await request({
59
+ ...newParams,
60
+ ...sorterMk(cuSorter),
61
+ });
37
62
  setTableDataSource(result);
38
63
  return;
39
64
  }
@@ -77,6 +77,11 @@ export default ({
77
77
  editableFormRef={defaultEditableFormRef}
78
78
  actionRef={defaultActionRef}
79
79
  value={data?.records}
80
+ manualRequest
81
+ request={(params, sorter) => {
82
+ run({}, sorter);
83
+ return Promise.resolve({});
84
+ }}
80
85
  recordCreatorProps={
81
86
  recordCreatorProps === false
82
87
  ? recordCreatorProps
@@ -1,7 +1,7 @@
1
1
  import { Button, Row, Typography } from "antd";
2
2
  import React from "react";
3
3
  import { useHTableContext } from "../context";
4
- import type { ActionRenderFn } from "src/components/modal";
4
+ import type { ActionRenderFn } from "../modal";
5
5
  const { Text, Link } = Typography;
6
6
  interface IProps {
7
7
  actionRender?: ActionRenderFn;
@@ -79,18 +79,19 @@ interface FilterKeysModal {
79
79
  records?: any[];
80
80
  rowKey?: string | GetRowKey<any>;
81
81
  preserveSelectedRowKeys?: boolean;
82
+ selectedRowData?: Record<string, any>[];
82
83
  }
83
84
 
84
85
  export const useSynchronousKeys = ({
85
86
  selectedRowKeys,
86
87
  records,
87
88
  rowKey,
88
- preserveSelectedRowKeys
89
+ preserveSelectedRowKeys,
89
90
  }: FilterKeysModal) => {
90
91
  const { rowOnChange } = useHTableContext();
91
- const findId = (key) => {
92
+ const findId = (key, mgArray: Record<string, any>[] = []) => {
92
93
  const msRecords = records as any[];
93
- const rowIndex = msRecords.findIndex((item, index) => {
94
+ const rowIndex = [...mgArray, ...msRecords].findIndex((item, index) => {
94
95
  const id =
95
96
  typeof rowKey === "function"
96
97
  ? rowKey(item, index)
@@ -100,16 +101,17 @@ export const useSynchronousKeys = ({
100
101
  return msRecords[rowIndex];
101
102
  };
102
103
  useEffect(() => {
103
- if (!selectedRowKeys||!records||!rowKey) {
104
- return;
104
+ if (!selectedRowKeys || !records || !rowKey) {
105
+ return;
105
106
  }
106
107
  if (!preserveSelectedRowKeys) {
107
108
  const resultData = selectedRowKeys.map((key) => {
108
109
  return findId(key);
109
110
  });
110
111
  rowOnChange(selectedRowKeys, resultData);
112
+ return;
111
113
  }
112
- }, [selectedRowKeys, records, rowKey,preserveSelectedRowKeys]);
114
+ }, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
113
115
  };
114
116
 
115
117
  export const useAlwaysShowAlert = (
@@ -50,8 +50,11 @@ export default (bodyProps: HTableBodyProps) => {
50
50
  ...props
51
51
  } = bodyProps;
52
52
 
53
- const { selectedRowKeys, alwaysShowAlert: configAlwaysShowAlert,preserveSelectedRowKeys } =
54
- rowSelection || {};
53
+ const {
54
+ selectedRowKeys,
55
+ alwaysShowAlert: configAlwaysShowAlert,
56
+ preserveSelectedRowKeys,
57
+ } = rowSelection || {};
55
58
 
56
59
  const {
57
60
  tableInstance: contextTableInstance,
@@ -90,8 +93,13 @@ export default (bodyProps: HTableBodyProps) => {
90
93
  columnsState,
91
94
  columns: cols,
92
95
  });
93
- useSynchronousKeys({ selectedRowKeys, records, rowKey,preserveSelectedRowKeys });
94
-
96
+ useSynchronousKeys({
97
+ selectedRowKeys,
98
+ records,
99
+ rowKey,
100
+ preserveSelectedRowKeys,
101
+ selectedRowData: selectedRowData.rowData,
102
+ });
95
103
  const optionsNode = options && (
96
104
  <Options
97
105
  reload={() => {
@@ -3,6 +3,17 @@ import { useState } from "react";
3
3
  import type { RowObj } from "../modal";
4
4
  import type { HRowSelection } from "../modal";
5
5
 
6
+ const initSelectedData = (rowSelection?: HRowSelection | false): RowObj => {
7
+ if (!rowSelection) {
8
+ return {};
9
+ }
10
+ const { selectedRowKeys, selectedRowData } = rowSelection;
11
+ return {
12
+ keys: selectedRowKeys,
13
+ rowData: selectedRowData,
14
+ };
15
+ };
16
+
6
17
  export default (rowSelection?: HRowSelection | false) => {
7
18
  const change = (keys: React.Key[], rowData: any[]) => {
8
19
  if (rowSelection === false) {
@@ -11,7 +22,9 @@ export default (rowSelection?: HRowSelection | false) => {
11
22
  const { onChange } = rowSelection || {};
12
23
  onChange?.(keys, rowData);
13
24
  };
14
- const [selectedRowData, setSelectedRowData] = useState<RowObj>({});
25
+ const [selectedRowData, setSelectedRowData] = useState<RowObj>(
26
+ initSelectedData(rowSelection)
27
+ );
15
28
  const { selectAll = false } = selectedRowData;
16
29
  const rowOnChange = (keys: React.Key[], rowData: any[]) => {
17
30
  setSelectedRowData({
@@ -31,6 +44,7 @@ export default (rowSelection?: HRowSelection | false) => {
31
44
  return;
32
45
  }
33
46
  const { preserveSelectedRowKeys } = rowSelection || {};
47
+ console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
34
48
  if (preserveSelectedRowKeys) {
35
49
  return;
36
50
  }
@@ -81,6 +81,7 @@ export type HRowSelection = RowSelectionOuter &
81
81
  (TableProps<any>["rowSelection"] & {
82
82
  alwaysShowAlert?: boolean;
83
83
  allCheckType?: "batch" | "single";
84
+ selectedRowData?: Record<string, any>[];
84
85
  });
85
86
  export interface HTableProps
86
87
  extends Omit<
@@ -33,13 +33,23 @@ export default () => {
33
33
  }}
34
34
  pagination={false}
35
35
  onEdit={async (data) => {}}
36
- request={() => {
36
+ request={async () => {
37
37
  console.log("fffff");
38
- return {};
38
+ return {
39
+ records: [{ title: "1", id: 1 }],
40
+ size: 10,
41
+ total: 1,
42
+ current: 1,
43
+ };
39
44
  }}
40
45
  configData={[
41
- { title: "标题", dataIndex: "title" },
42
- { title: "标题2", dataIndex: "time", valueType: "date" },
46
+ { title: "标题", sorter: true, dataIndex: "title" },
47
+ {
48
+ title: "标题2",
49
+ dataIndex: "time",
50
+ valueType: "date",
51
+ sorter: true,
52
+ },
43
53
  {
44
54
  title: "操作",
45
55
  valueType: "option",
@@ -54,6 +64,13 @@ export default () => {
54
64
  >
55
65
  编辑
56
66
  </a>,
67
+ <a
68
+ onClick={() => {
69
+ action.reloadAndRest();
70
+ }}
71
+ >
72
+ 删除
73
+ </a>,
57
74
  ],
58
75
  },
59
76
  ]}
@@ -88,7 +88,6 @@ export const configData = () => {
88
88
  ];
89
89
  };
90
90
  const listReq = (params) => {
91
- console.log(params, "params");
92
91
  return new Promise((resolve) => {
93
92
  setTimeout(() => {
94
93
  const { current } = params;
@@ -170,8 +169,17 @@ export default () => {
170
169
  },
171
170
  },
172
171
  ]);
172
+ const [keys, setKeys] = useState(["1-1"]);
173
+
173
174
  return (
174
175
  <HFormConfigProvider>
176
+ <div
177
+ onClick={() => {
178
+ setKeys([]);
179
+ }}
180
+ >
181
+ 清空
182
+ </div>
175
183
  <ProTable
176
184
  columns={cols}
177
185
  actionRef={ref}
@@ -256,10 +264,12 @@ export default () => {
256
264
  rowSelection={{
257
265
  preserveSelectedRowKeys: true,
258
266
  allPageCheck: false,
259
- onChange: (keys, rowData) => {
260
- console.log(keys, rowData);
267
+ onChange: (changeKey, rowData) => {
268
+ console.log(changeKey, rowData);
261
269
  },
262
270
  allCheckType: "batch",
271
+ selectedRowKeys: keys,
272
+ selectedRowData: [{ id: "1-1" }],
263
273
  }}
264
274
  affixProps={{
265
275
  target: () => document.querySelector(".body"),
package/README.en.md DELETED
@@ -1,36 +0,0 @@
1
- # hw-component-table
2
-
3
- #### Description
4
- table组件
5
-
6
- #### Software Architecture
7
- Software architecture description
8
-
9
- #### Installation
10
-
11
- 1. xxxx
12
- 2. xxxx
13
- 3. xxxx
14
-
15
- #### Instructions
16
-
17
- 1. xxxx
18
- 2. xxxx
19
- 3. xxxx
20
-
21
- #### Contribution
22
-
23
- 1. Fork the repository
24
- 2. Create Feat_xxx branch
25
- 3. Commit your code
26
- 4. Create Pull Request
27
-
28
-
29
- #### Gitee Feature
30
-
31
- 1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
32
- 2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
33
- 3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
34
- 4. The most valuable open source project [GVP](https://gitee.com/gvp)
35
- 5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
36
- 6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)