@hi-ui/tree-select 4.3.0 → 4.3.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @hi-ui/tree-select
2
2
 
3
+ ## 4.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3196](https://github.com/XiaoMi/hiui/pull/3196) [`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0) Thanks [@KEH3](https://github.com/KEH3)! - fix(popper): ref 中增加更新位置方法解决上游组件弹窗被遮挡问题 (#3195)
8
+
9
+ - Updated dependencies [[`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0)]:
10
+ - @hi-ui/picker@4.1.8
11
+ - @hi-ui/popper@4.1.7
12
+
3
13
  ## 4.3.0
4
14
 
5
15
  ### Minor Changes
@@ -91,6 +91,7 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
91
91
  customRender = _a.customRender,
92
92
  rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "keyword", "onSearch", "clearable", "onClear", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size", "prefix", "suffix", "customRender"]);
93
93
  var i18n = core.useLocaleContext();
94
+ var pickerInnerRef = React.useRef(null);
94
95
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('treeSelect.placeholder') : placeholderProp;
95
96
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
96
97
  visible: visible,
@@ -222,8 +223,16 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
222
223
  return flattedData;
223
224
  }, [selectedItem, flattedData]);
224
225
  var cls = classname.cx(prefixCls, className);
226
+ React.useEffect(function () {
227
+ var _a;
228
+ if (menuVisible) {
229
+ // 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
230
+ (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
231
+ }
232
+ }, [menuVisible, treeProps.expandedIds]);
225
233
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
226
234
  ref: ref,
235
+ innerRef: pickerInnerRef,
227
236
  className: cls
228
237
  }, rest, {
229
238
  visible: menuVisible,
@@ -8,7 +8,7 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import { __rest } from 'tslib';
11
- import React, { forwardRef, useCallback, useMemo, useState } from 'react';
11
+ import React, { forwardRef, useRef, useCallback, useMemo, useState, useEffect } from 'react';
12
12
  import { getPrefixCls, cx } from '@hi-ui/classname';
13
13
  import { __DEV__ } from '@hi-ui/env';
14
14
  import { useUncontrolledToggle } from '@hi-ui/use-toggle';
@@ -79,6 +79,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
79
79
  customRender = _a.customRender,
80
80
  rest = __rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "keyword", "onSearch", "clearable", "onClear", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size", "prefix", "suffix", "customRender"]);
81
81
  var i18n = useLocaleContext();
82
+ var pickerInnerRef = useRef(null);
82
83
  var placeholder = isUndef(placeholderProp) ? i18n.get('treeSelect.placeholder') : placeholderProp;
83
84
  var _useUncontrolledToggl = useUncontrolledToggle({
84
85
  visible: visible,
@@ -210,8 +211,16 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
210
211
  return flattedData;
211
212
  }, [selectedItem, flattedData]);
212
213
  var cls = cx(prefixCls, className);
214
+ useEffect(function () {
215
+ var _a;
216
+ if (menuVisible) {
217
+ // 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
218
+ (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
219
+ }
220
+ }, [menuVisible, treeProps.expandedIds]);
213
221
  return /*#__PURE__*/React.createElement(Picker, Object.assign({
214
222
  ref: ref,
223
+ innerRef: pickerInnerRef,
215
224
  className: cls
216
225
  }, rest, {
217
226
  visible: menuVisible,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/tree-select",
3
- "version": "4.3.0",
3
+ "version": "4.3.1",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -50,8 +50,8 @@
50
50
  "@hi-ui/highlighter": "^4.1.2",
51
51
  "@hi-ui/icons": "^4.0.19",
52
52
  "@hi-ui/input": "^4.4.0",
53
- "@hi-ui/picker": "^4.1.6",
54
- "@hi-ui/popper": "^4.1.5",
53
+ "@hi-ui/picker": "^4.1.8",
54
+ "@hi-ui/popper": "^4.1.7",
55
55
  "@hi-ui/tree": "^4.6.1",
56
56
  "@hi-ui/tree-utils": "^4.1.4",
57
57
  "@hi-ui/type-assertion": "^4.0.4",