@hi-ui/table 4.5.0-alpha.2 → 4.5.1-alpha.0

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.
@@ -62,6 +62,9 @@ var useColSorter = function useColSorter(_ref) {
62
62
  var _useState = React.useState(sortedCols),
63
63
  _cacheSortedCols = _useState[0],
64
64
  setCacheSortedCols = _useState[1];
65
+ React.useEffect(function () {
66
+ setCacheSortedCols(sortedCols);
67
+ }, [sortedCols]);
65
68
  // 保证排序的 column,是有效的可展示的列
66
69
  var cacheSortedCols = React.useMemo(function () {
67
70
  return _cacheSortedCols.filter(function (col) {
@@ -138,10 +138,41 @@ var useColWidth = function useColWidth(_ref) {
138
138
  var _React$useState2 = React__default["default"].useState(null),
139
139
  headerTableElement = _React$useState2[0],
140
140
  setHeaderTableElement = _React$useState2[1];
141
+ // 控制列最小可调整宽度
142
+ var _React$useState3 = React__default["default"].useState([]),
143
+ minColWidth = _React$useState3[0],
144
+ setMinColWidth = _React$useState3[1];
145
+ // 当列变化时同步更新 minColWidth
146
+ React__default["default"].useEffect(function () {
147
+ var resizeObserver;
148
+ if (headerTableElement) {
149
+ resizeObserver = new ResizeObserver(function () {
150
+ var resizableHandlerWidth = 4;
151
+ var _minColWidth = Array.from(headerTableElement.childNodes).map(function (th) {
152
+ var thPaddingLeft = parseFloat(window.getComputedStyle(th).getPropertyValue('padding-left'));
153
+ var childNodes = Array.from(th.childNodes);
154
+ return childNodes.map(function (child) {
155
+ return child.offsetWidth;
156
+ }).reduce(function (prev, next) {
157
+ return prev + next;
158
+ }) + thPaddingLeft * 2 + resizableHandlerWidth;
159
+ });
160
+ setMinColWidth(_minColWidth);
161
+ });
162
+ resizeObserver.observe(headerTableElement);
163
+ } else {
164
+ setMinColWidth(Array(columns.length).fill(0));
165
+ }
166
+ return function () {
167
+ if (resizeObserver) {
168
+ resizeObserver.disconnect();
169
+ }
170
+ };
171
+ }, [columns.length, headerTableElement, resizable]);
141
172
  /**
142
173
  * 控制列最小可调整宽度
143
174
  */
144
- var minColWidth = React__default["default"].useMemo(function () {
175
+ React__default["default"].useMemo(function () {
145
176
  if (resizable && headerTableElement) {
146
177
  var resizableHandlerWidth = 4;
147
178
  var _minColWidth = Array.from(headerTableElement.childNodes).map(function (th) {
@@ -200,8 +200,8 @@ var useTable = function useTable(_a) {
200
200
  var _useUncontrolledState2 = useUncontrolledState.useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
201
201
  fixedToColumn = _useUncontrolledState2[0],
202
202
  setFixedToColumn = _useUncontrolledState2[1];
203
- var leftFreezeColumn = columns.some(function (item) {
204
- return item.dataKey === fixedToColumn.left;
203
+ var leftFreezeColumn = treeUtils.findNodeById(columns, fixedToColumn.left || '', {
204
+ idFieldName: 'dataKey'
205
205
  }) ? fixedToColumn.left : Table.SELECTION_DATA_KEY;
206
206
  var rightFreezeColumn = fixedToColumn.right;
207
207
  var setLeftFreezeColumn = React.useCallback(function (columnKey) {
@@ -246,8 +246,27 @@ var useTable = function useTable(_a) {
246
246
  if (colWidths) {
247
247
  // colWidths 记录的是最新的列宽,当它有值时,重置一下列宽,否则会导致冻结列动态调整宽度后定位不准
248
248
  nextColumns = nextColumns.map(function (item, index) {
249
+ var width = item.width,
250
+ children = item.children;
251
+ var parentWidth = 0;
252
+ // 计算父节点宽度
253
+ // 计算父节点宽度
254
+ var dig = function dig(children, index) {
255
+ if (index === void 0) {
256
+ index = 0;
257
+ }
258
+ children === null || children === void 0 ? void 0 : children.forEach(function (child, childIndex) {
259
+ if (child.children) {
260
+ dig(child.children, childIndex);
261
+ } else {
262
+ parentWidth += colWidths[index + childIndex];
263
+ }
264
+ });
265
+ };
266
+ dig(children, index);
249
267
  return Object.assign(Object.assign({}, item), {
250
- width: colWidths[index]
268
+ // 如果是表头分组中的父节点则 width 设置为所有子节点的宽度总和,否则直接拿 colWidths 中的宽度
269
+ width: children ? parentWidth || width : colWidths[index]
251
270
  });
252
271
  });
253
272
  }
@@ -68,8 +68,9 @@ var parseFixedColumns = function parseFixedColumns(item, index, columns, arr, ke
68
68
  children = _item.children;
69
69
  item.children = [];
70
70
  children.forEach(function (childrenItem, idx) {
71
- var child = parseFixedColumns(childrenItem, idx, columns, children, key, index === 0 ? 0 : _parentStickyWidth);
71
+ var child = parseFixedColumns(childrenItem, idx, columns, children, key, idx === 0 ? _parentStickyWidth : 0);
72
72
  item.children[idx] = child;
73
+ children[idx] = child;
73
74
  columns[child.index] = child;
74
75
  });
75
76
  }
@@ -57,6 +57,9 @@ var useColSorter = function useColSorter(_ref) {
57
57
  var _useState = useState(sortedCols),
58
58
  _cacheSortedCols = _useState[0],
59
59
  setCacheSortedCols = _useState[1];
60
+ useEffect(function () {
61
+ setCacheSortedCols(sortedCols);
62
+ }, [sortedCols]);
60
63
  // 保证排序的 column,是有效的可展示的列
61
64
  var cacheSortedCols = useMemo(function () {
62
65
  return _cacheSortedCols.filter(function (col) {
@@ -126,10 +126,41 @@ var useColWidth = function useColWidth(_ref) {
126
126
  var _React$useState2 = React__default.useState(null),
127
127
  headerTableElement = _React$useState2[0],
128
128
  setHeaderTableElement = _React$useState2[1];
129
+ // 控制列最小可调整宽度
130
+ var _React$useState3 = React__default.useState([]),
131
+ minColWidth = _React$useState3[0],
132
+ setMinColWidth = _React$useState3[1];
133
+ // 当列变化时同步更新 minColWidth
134
+ React__default.useEffect(function () {
135
+ var resizeObserver;
136
+ if (headerTableElement) {
137
+ resizeObserver = new ResizeObserver(function () {
138
+ var resizableHandlerWidth = 4;
139
+ var _minColWidth = Array.from(headerTableElement.childNodes).map(function (th) {
140
+ var thPaddingLeft = parseFloat(window.getComputedStyle(th).getPropertyValue('padding-left'));
141
+ var childNodes = Array.from(th.childNodes);
142
+ return childNodes.map(function (child) {
143
+ return child.offsetWidth;
144
+ }).reduce(function (prev, next) {
145
+ return prev + next;
146
+ }) + thPaddingLeft * 2 + resizableHandlerWidth;
147
+ });
148
+ setMinColWidth(_minColWidth);
149
+ });
150
+ resizeObserver.observe(headerTableElement);
151
+ } else {
152
+ setMinColWidth(Array(columns.length).fill(0));
153
+ }
154
+ return function () {
155
+ if (resizeObserver) {
156
+ resizeObserver.disconnect();
157
+ }
158
+ };
159
+ }, [columns.length, headerTableElement, resizable]);
129
160
  /**
130
161
  * 控制列最小可调整宽度
131
162
  */
132
- var minColWidth = React__default.useMemo(function () {
163
+ React__default.useMemo(function () {
133
164
  if (resizable && headerTableElement) {
134
165
  var resizableHandlerWidth = 4;
135
166
  var _minColWidth = Array.from(headerTableElement.childNodes).map(function (th) {
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { __rest } from 'tslib';
11
11
  import React__default, { useMemo, useState, useRef, useCallback, useEffect } from 'react';
12
- import { cloneTree, flattenTree, getNodeRootParent, flattedTreeSort, getLeafChildren } from '@hi-ui/tree-utils';
12
+ import { cloneTree, flattenTree, findNodeById, getNodeRootParent, flattedTreeSort, getLeafChildren } from '@hi-ui/tree-utils';
13
13
  import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
14
14
  import { isNullish, isArrayNonEmpty } from '@hi-ui/type-assertion';
15
15
  import { useCheck, useSelect } from '@hi-ui/use-check';
@@ -188,8 +188,8 @@ var useTable = function useTable(_a) {
188
188
  var _useUncontrolledState2 = useUncontrolledState(defaultFixedToColumn, fixedToColumnProp, onFixedToColumn),
189
189
  fixedToColumn = _useUncontrolledState2[0],
190
190
  setFixedToColumn = _useUncontrolledState2[1];
191
- var leftFreezeColumn = columns.some(function (item) {
192
- return item.dataKey === fixedToColumn.left;
191
+ var leftFreezeColumn = findNodeById(columns, fixedToColumn.left || '', {
192
+ idFieldName: 'dataKey'
193
193
  }) ? fixedToColumn.left : SELECTION_DATA_KEY;
194
194
  var rightFreezeColumn = fixedToColumn.right;
195
195
  var setLeftFreezeColumn = useCallback(function (columnKey) {
@@ -234,8 +234,27 @@ var useTable = function useTable(_a) {
234
234
  if (colWidths) {
235
235
  // colWidths 记录的是最新的列宽,当它有值时,重置一下列宽,否则会导致冻结列动态调整宽度后定位不准
236
236
  nextColumns = nextColumns.map(function (item, index) {
237
+ var width = item.width,
238
+ children = item.children;
239
+ var parentWidth = 0;
240
+ // 计算父节点宽度
241
+ // 计算父节点宽度
242
+ var dig = function dig(children, index) {
243
+ if (index === void 0) {
244
+ index = 0;
245
+ }
246
+ children === null || children === void 0 ? void 0 : children.forEach(function (child, childIndex) {
247
+ if (child.children) {
248
+ dig(child.children, childIndex);
249
+ } else {
250
+ parentWidth += colWidths[index + childIndex];
251
+ }
252
+ });
253
+ };
254
+ dig(children, index);
237
255
  return Object.assign(Object.assign({}, item), {
238
- width: colWidths[index]
256
+ // 如果是表头分组中的父节点则 width 设置为所有子节点的宽度总和,否则直接拿 colWidths 中的宽度
257
+ width: children ? parentWidth || width : colWidths[index]
239
258
  });
240
259
  });
241
260
  }
@@ -63,8 +63,9 @@ var parseFixedColumns = function parseFixedColumns(item, index, columns, arr, ke
63
63
  children = _item.children;
64
64
  item.children = [];
65
65
  children.forEach(function (childrenItem, idx) {
66
- var child = parseFixedColumns(childrenItem, idx, columns, children, key, index === 0 ? 0 : _parentStickyWidth);
66
+ var child = parseFixedColumns(childrenItem, idx, columns, children, key, idx === 0 ? _parentStickyWidth : 0);
67
67
  item.children[idx] = child;
68
+ children[idx] = child;
68
69
  columns[child.index] = child;
69
70
  });
70
71
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/table",
3
- "version": "4.5.0-alpha.2",
3
+ "version": "4.5.1-alpha.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -60,10 +60,10 @@
60
60
  "@hi-ui/popper": "^4.1.3",
61
61
  "@hi-ui/react-utils": "^4.0.4",
62
62
  "@hi-ui/scrollbar": "^4.1.0",
63
- "@hi-ui/select": "^4.2.5",
63
+ "@hi-ui/select": "^4.3.0",
64
64
  "@hi-ui/spinner": "^4.0.8",
65
65
  "@hi-ui/times": "^4.0.4",
66
- "@hi-ui/tree-utils": "^4.1.5",
66
+ "@hi-ui/tree-utils": "^4.1.6",
67
67
  "@hi-ui/type-assertion": "^4.0.4",
68
68
  "@hi-ui/use-cache": "^4.0.4",
69
69
  "@hi-ui/use-check": "^4.0.5",
package/CHANGELOG.md DELETED
@@ -1,236 +0,0 @@
1
- # @hi-ui/table
2
-
3
- ## 4.4.1
4
-
5
- ### Patch Changes
6
-
7
- - [#2722](https://github.com/XiaoMi/hiui/pull/2722) [`a25261a88`](https://github.com/XiaoMi/hiui/commit/a25261a884f9b3470924c29564b3c4758ebab6cf) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复空状态下横向滚动条问题
8
-
9
- - Updated dependencies [[`a25261a88`](https://github.com/XiaoMi/hiui/commit/a25261a884f9b3470924c29564b3c4758ebab6cf)]:
10
- - @hi-ui/checkbox@4.0.9
11
-
12
- ## 4.4.0
13
-
14
- ### Minor Changes
15
-
16
- - [#2699](https://github.com/XiaoMi/hiui/pull/2699) [`6c5d9c7ed`](https://github.com/XiaoMi/hiui/commit/6c5d9c7ed21eaebc26638ba6ee54eb3bfe918af4) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add fixed and rowClassName api
17
- feat: SettingDrawer 增加 extraHeader showCheckAll itemRender api
18
- fix: 修复边框模式下样式问题
19
- feat: SettingDrawer 支持配置列是否禁止拖拽
20
- fix: 修复 resize 模式下多选时宽度被重置问题
21
- fix: 修复树形表格节点图标没有对齐问题
22
- fix: 修复虚拟表格边框样式问题
23
- fix: 修复虚拟表格下双滚动条问题
24
- fix: 修复虚拟表格下 size 和 maxHeight 失效问题
25
-
26
- ### Patch Changes
27
-
28
- - Updated dependencies [[`4ec059bad`](https://github.com/XiaoMi/hiui/commit/4ec059badc67f3facc98288f3e7a67f51938e40f), [`ffd47b89a`](https://github.com/XiaoMi/hiui/commit/ffd47b89a5d7da54ea717fa827123e9c3b2b6d0f), [`cfc37dc37`](https://github.com/XiaoMi/hiui/commit/cfc37dc37c83ce737d88262644c07ca23cde0731), [`2fa5ee5b6`](https://github.com/XiaoMi/hiui/commit/2fa5ee5b6ecc7f95a5224fd91ccfcd263b41d932), [`9cf8e079f`](https://github.com/XiaoMi/hiui/commit/9cf8e079fd3f342d851d7abfecc1c0447c3ac40b)]:
29
- - @hi-ui/loading@4.2.0
30
- - @hi-ui/empty-state@4.1.0
31
- - @hi-ui/tree-utils@4.1.5
32
- - @hi-ui/scrollbar@4.1.0
33
-
34
- ## 4.3.4
35
-
36
- ### Patch Changes
37
-
38
- - build: rollup2 构建
39
- - Updated dependencies
40
- - @hi-ui/core@4.0.8
41
- - @hi-ui/use-cache@4.0.4
42
- - @hi-ui/use-check@4.0.5
43
- - @hi-ui/use-check-state@4.0.4
44
- - @hi-ui/use-drag-sorter@4.0.4
45
- - @hi-ui/use-latest@4.0.4
46
- - @hi-ui/use-toggle@4.0.4
47
- - @hi-ui/use-uncontrolled-state@4.0.4
48
- - @hi-ui/use-update-effect@4.0.4
49
- - @hi-ui/icons@4.0.18
50
- - @hi-ui/button@4.0.9
51
- - @hi-ui/checkbox@4.0.8
52
- - @hi-ui/drawer@4.1.3
53
- - @hi-ui/empty-state@4.0.7
54
- - @hi-ui/icon-button@4.0.8
55
- - @hi-ui/loading@4.1.3
56
- - @hi-ui/pagination@4.0.14
57
- - @hi-ui/popper@4.1.3
58
- - @hi-ui/select@4.2.5
59
- - @hi-ui/spinner@4.0.8
60
- - @hi-ui/array-utils@4.0.4
61
- - @hi-ui/classname@4.0.4
62
- - @hi-ui/dom-utils@4.0.7
63
- - @hi-ui/env@4.0.4
64
- - @hi-ui/func-utils@4.0.4
65
- - @hi-ui/object-utils@4.0.4
66
- - @hi-ui/react-utils@4.0.4
67
- - @hi-ui/times@4.0.4
68
- - @hi-ui/tree-utils@4.1.4
69
- - @hi-ui/type-assertion@4.0.4
70
-
71
- ## 4.3.3
72
-
73
- ### Patch Changes
74
-
75
- - fix: 修复 rollup3 打包 cjs 模块问题
76
- - Updated dependencies
77
- - @hi-ui/env@4.0.3
78
- - @hi-ui/core@4.0.7
79
- - @hi-ui/use-cache@4.0.3
80
- - @hi-ui/use-check@4.0.4
81
- - @hi-ui/use-check-state@4.0.3
82
- - @hi-ui/use-drag-sorter@4.0.3
83
- - @hi-ui/use-latest@4.0.3
84
- - @hi-ui/use-toggle@4.0.3
85
- - @hi-ui/use-uncontrolled-state@4.0.3
86
- - @hi-ui/use-update-effect@4.0.3
87
- - @hi-ui/icons@4.0.17
88
- - @hi-ui/button@4.0.8
89
- - @hi-ui/checkbox@4.0.7
90
- - @hi-ui/drawer@4.1.2
91
- - @hi-ui/empty-state@4.0.6
92
- - @hi-ui/icon-button@4.0.7
93
- - @hi-ui/loading@4.1.2
94
- - @hi-ui/pagination@4.0.13
95
- - @hi-ui/popper@4.1.2
96
- - @hi-ui/select@4.2.4
97
- - @hi-ui/spinner@4.0.7
98
- - @hi-ui/array-utils@4.0.3
99
- - @hi-ui/classname@4.0.3
100
- - @hi-ui/dom-utils@4.0.6
101
- - @hi-ui/func-utils@4.0.3
102
- - @hi-ui/object-utils@4.0.3
103
- - @hi-ui/react-utils@4.0.3
104
- - @hi-ui/times@4.0.3
105
- - @hi-ui/tree-utils@4.1.3
106
- - @hi-ui/type-assertion@4.0.3
107
-
108
- ## 4.3.2
109
-
110
- ### Patch Changes
111
-
112
- - [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
113
-
114
- - [#2671](https://github.com/XiaoMi/hiui/pull/2671) [`6d7909444`](https://github.com/XiaoMi/hiui/commit/6d790944418f36689b34805f858a1268530864b9) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复组件参数类型错误
115
-
116
- - Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
117
- - @hi-ui/core@4.0.6
118
- - @hi-ui/use-cache@4.0.2
119
- - @hi-ui/use-check@4.0.3
120
- - @hi-ui/use-check-state@4.0.2
121
- - @hi-ui/use-drag-sorter@4.0.2
122
- - @hi-ui/use-latest@4.0.2
123
- - @hi-ui/use-toggle@4.0.2
124
- - @hi-ui/use-uncontrolled-state@4.0.2
125
- - @hi-ui/use-update-effect@4.0.2
126
- - @hi-ui/icons@4.0.16
127
- - @hi-ui/button@4.0.7
128
- - @hi-ui/checkbox@4.0.6
129
- - @hi-ui/drawer@4.1.1
130
- - @hi-ui/empty-state@4.0.5
131
- - @hi-ui/icon-button@4.0.6
132
- - @hi-ui/loading@4.1.1
133
- - @hi-ui/pagination@4.0.12
134
- - @hi-ui/popper@4.1.1
135
- - @hi-ui/select@4.2.3
136
- - @hi-ui/spinner@4.0.6
137
- - @hi-ui/array-utils@4.0.2
138
- - @hi-ui/classname@4.0.2
139
- - @hi-ui/dom-utils@4.0.5
140
- - @hi-ui/env@4.0.2
141
- - @hi-ui/func-utils@4.0.2
142
- - @hi-ui/object-utils@4.0.2
143
- - @hi-ui/react-utils@4.0.2
144
- - @hi-ui/times@4.0.2
145
- - @hi-ui/tree-utils@4.1.2
146
- - @hi-ui/type-assertion@4.0.2
147
-
148
- ## 4.3.1
149
-
150
- ### Patch Changes
151
-
152
- - [#2654](https://github.com/XiaoMi/hiui/pull/2654) [`dc002a32a`](https://github.com/XiaoMi/hiui/commit/dc002a32a2c6f538b0df37c63d34f603647d9b70) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 scrollbar 参数,用于在 Windows 环境下优化滚动条样式
153
-
154
- - Updated dependencies [[`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315)]:
155
- - @hi-ui/button@4.0.6
156
- - @hi-ui/icon-button@4.0.5
157
- - @hi-ui/pagination@4.0.11
158
-
159
- ## 4.3.0
160
-
161
- ### Minor Changes
162
-
163
- - [#2642](https://github.com/XiaoMi/hiui/pull/2642) [`74d8c5148`](https://github.com/XiaoMi/hiui/commit/74d8c51489ae7a88c90b1426e9da118125579b97) Thanks [@zyprepare](https://github.com/zyprepare)! - perf: 将之前的双表格结构优化成单表格,冻结列和表头吸顶等场景依然采用双表格结构
164
-
165
- - [#2647](https://github.com/XiaoMi/hiui/pull/2647) [`8767c9470`](https://github.com/XiaoMi/hiui/commit/8767c94702fdc697207001f639508907e20fc6a5) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add footerRender api
166
-
167
- ### Patch Changes
168
-
169
- - [#2648](https://github.com/XiaoMi/hiui/pull/2648) [`54387a81e`](https://github.com/XiaoMi/hiui/commit/54387a81e1c6add77e791af8d849a6518077afd5) Thanks [@zyprepare](https://github.com/zyprepare)! - perf: 优化 resizable 模式下可调整的最小宽度
170
-
171
- - Updated dependencies [[`4f7c8c906`](https://github.com/XiaoMi/hiui/commit/4f7c8c9063d9b72068a2db5fa614eed130aafd0f)]:
172
- - @hi-ui/select@4.2.2
173
-
174
- ## 4.2.0
175
-
176
- ### Minor Changes
177
-
178
- - [#2597](https://github.com/XiaoMi/hiui/pull/2597) [`0ddf24960`](https://github.com/XiaoMi/hiui/commit/0ddf24960194fdd15653e34e0a6cef54b1586748) Thanks [@zyprepare](https://github.com/zyprepare)! - chore: axios 升级为 1.5.0
179
-
180
- ### Patch Changes
181
-
182
- - [#2608](https://github.com/XiaoMi/hiui/pull/2608) [`fb9b1281d`](https://github.com/XiaoMi/hiui/commit/fb9b1281d99ba0d21b5cb32c87b5e671272c1c8e) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复紧凑模式下多选项间距问题
183
-
184
- - Updated dependencies [[`b3b36813a`](https://github.com/XiaoMi/hiui/commit/b3b36813a6968c5c96c39d1100935372e3aa5b4d)]:
185
- - @hi-ui/select@4.2.0
186
-
187
- ## 4.1.2
188
-
189
- ### Patch Changes
190
-
191
- - [#2572](https://github.com/XiaoMi/hiui/pull/2572) [`eee5e6d16`](https://github.com/XiaoMi/hiui/commit/eee5e6d1658685a6119b5aa40038c572145b3b4e) Thanks [@zyprepare](https://github.com/zyprepare)! - perf: 表格性能优化
192
-
193
- - Updated dependencies [[`937052db3`](https://github.com/XiaoMi/hiui/commit/937052db36ecfa50fef53df13d159bee0d08fa41), [`ccb1eec12`](https://github.com/XiaoMi/hiui/commit/ccb1eec122a33466536b365d443f175d1e16dc86), [`eee5e6d16`](https://github.com/XiaoMi/hiui/commit/eee5e6d1658685a6119b5aa40038c572145b3b4e)]:
194
- - @hi-ui/icons@4.0.14
195
- - @hi-ui/popper@4.1.0
196
- - @hi-ui/tree-utils@4.1.1
197
-
198
- ## 4.1.1
199
-
200
- ### Patch Changes
201
-
202
- - [#2557](https://github.com/XiaoMi/hiui/pull/2557) [`ef7aae038`](https://github.com/XiaoMi/hiui/commit/ef7aae038362d3a7700611737c474c29d1ba07b4) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: maxHeight 支持表达式
203
-
204
- - [#2558](https://github.com/XiaoMi/hiui/pull/2558) [`bdd913d71`](https://github.com/XiaoMi/hiui/commit/bdd913d7173de64952437014ab9ffd1947ed506c) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加树形结构排序
205
-
206
- - Updated dependencies [[`bdd913d71`](https://github.com/XiaoMi/hiui/commit/bdd913d7173de64952437014ab9ffd1947ed506c)]:
207
- - @hi-ui/tree-utils@4.1.0
208
-
209
- ## 4.1.0
210
-
211
- ### Minor Changes
212
-
213
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: rowSelection onChange 回调增加已选数据集合参数
214
-
215
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加虚拟滚动功能
216
-
217
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 dataSource 功能
218
-
219
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 列设置增加 checkDisabledColKeys api,用于禁用列选择操作
220
-
221
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add SettingDrawer component
222
-
223
- ### Patch Changes
224
-
225
- - [#2474](https://github.com/XiaoMi/hiui/pull/2474) [`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 数据排序样式不对
226
-
227
- - [#2473](https://github.com/XiaoMi/hiui/pull/2473) [`3d5f9ba15`](https://github.com/XiaoMi/hiui/commit/3d5f9ba15868ccdc385cdcdc8a3bbe2e55542b39) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复 sonarcloud 扫描的 Bugs
228
-
229
- - Updated dependencies [[`e95268aa4`](https://github.com/XiaoMi/hiui/commit/e95268aa4af48edaaa9f6afcf5a262342a550cd1)]:
230
- - @hi-ui/loading@4.1.0
231
-
232
- ## 4.0.13
233
-
234
- ### Patch Changes
235
-
236
- - [#2315](https://github.com/XiaoMi/hiui/pull/2315) [`551ab0b73`](https://github.com/XiaoMi/hiui/commit/551ab0b734e00d1e0ca170c9a87f316aa4197762) Thanks [@zyprepare](https://github.com/zyprepare)! - 修复设置 size 后,空状态会出现滚动条问题