@hi-ui/check-cascader 4.4.0 → 4.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @hi-ui/check-cascader
2
2
 
3
+ ## 4.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3231](https://github.com/XiaoMi/hiui/pull/3231) [`bbba46153`](https://github.com/XiaoMi/hiui/commit/bbba4615313cd0618deff633bebc657e7f34ec94) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(cascader): onChange 回调中增加选中项对象参数返回 (#3230)
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`dc1311a91`](https://github.com/XiaoMi/hiui/commit/dc1311a917518bc5debef755a9fcd4e33fb58790), [`b8c19048f`](https://github.com/XiaoMi/hiui/commit/b8c19048fe25147f344be4cd951740593aee8d12)]:
12
+ - @hi-ui/use-search-mode@4.2.1
13
+ - @hi-ui/tag-input@4.1.4
14
+
15
+ ## 4.4.1
16
+
17
+ ### Patch Changes
18
+
19
+ - [#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)
20
+
21
+ - Updated dependencies [[`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0)]:
22
+ - @hi-ui/picker@4.1.8
23
+ - @hi-ui/popper@4.1.7
24
+
3
25
  ## 4.4.0
4
26
 
5
27
  ### Minor Changes
@@ -88,6 +88,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
88
88
  fieldNames = _a.fieldNames,
89
89
  rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onClear", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
90
90
  var i18n = core.useLocaleContext();
91
+ var pickerInnerRef = React.useRef(null);
91
92
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
92
93
  var flatted = type === 'flatted';
93
94
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
@@ -132,7 +133,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
132
133
  });
133
134
  return idPaths || [lastId];
134
135
  });
135
- tryChangeValue(itemsPaths);
136
+ tryChangeValue(itemsPaths, item, itemsPaths);
136
137
  });
137
138
  // ************************** 搜索 ************************* //
138
139
  // 无法做异步搜索,因为下拉菜单不能合并(因为树形数据,不知道是第几级)
@@ -205,8 +206,16 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
205
206
  return flattedDataMap.get(selectedId);
206
207
  });
207
208
  }, [flattedDataMap, value]);
209
+ React.useEffect(function () {
210
+ var _a;
211
+ if (menuVisible) {
212
+ // 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
213
+ (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
214
+ }
215
+ }, [menuVisible, selectProps.data]);
208
216
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
209
217
  ref: ref,
218
+ innerRef: pickerInnerRef,
210
219
  className: cls,
211
220
  overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
212
221
  }, rest, {
@@ -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, useMemo, useCallback } from 'react';
11
+ import React, { forwardRef, useRef, useMemo, useCallback, 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';
@@ -76,6 +76,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
76
76
  fieldNames = _a.fieldNames,
77
77
  rest = __rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onClear", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
78
78
  var i18n = useLocaleContext();
79
+ var pickerInnerRef = useRef(null);
79
80
  var placeholder = isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
80
81
  var flatted = type === 'flatted';
81
82
  var _useUncontrolledToggl = useUncontrolledToggle({
@@ -120,7 +121,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
120
121
  });
121
122
  return idPaths || [lastId];
122
123
  });
123
- tryChangeValue(itemsPaths);
124
+ tryChangeValue(itemsPaths, item, itemsPaths);
124
125
  });
125
126
  // ************************** 搜索 ************************* //
126
127
  // 无法做异步搜索,因为下拉菜单不能合并(因为树形数据,不知道是第几级)
@@ -193,8 +194,16 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
193
194
  return flattedDataMap.get(selectedId);
194
195
  });
195
196
  }, [flattedDataMap, value]);
197
+ useEffect(function () {
198
+ var _a;
199
+ if (menuVisible) {
200
+ // 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
201
+ (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
202
+ }
203
+ }, [menuVisible, selectProps.data]);
196
204
  return /*#__PURE__*/React.createElement(Picker, Object.assign({
197
205
  ref: ref,
206
+ innerRef: pickerInnerRef,
198
207
  className: cls,
199
208
  overlayClassName: cx(prefixCls + "__popper", overlayClassName)
200
209
  }, rest, {
@@ -27,7 +27,7 @@ export interface CheckCascaderProps extends Omit<PickerProps, 'trigger' | 'scrol
27
27
  /**
28
28
  * 多选值改变时的回调
29
29
  */
30
- onChange?: (values: React.ReactText[][]) => void;
30
+ onChange?: (values: React.ReactText[][], targetOption?: CheckCascaderItemEventData, optionPaths?: FlattedCheckCascaderDataItem[]) => void;
31
31
  /**
32
32
  * 选项被点击时的回调。暂不对外暴露
33
33
  * @private
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/check-cascader",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -51,10 +51,10 @@
51
51
  "@hi-ui/func-utils": "^4.0.4",
52
52
  "@hi-ui/icons": "^4.0.19",
53
53
  "@hi-ui/input": "^4.4.0",
54
- "@hi-ui/picker": "^4.1.6",
55
- "@hi-ui/popper": "^4.1.5",
54
+ "@hi-ui/picker": "^4.1.8",
55
+ "@hi-ui/popper": "^4.1.7",
56
56
  "@hi-ui/spinner": "^4.0.9",
57
- "@hi-ui/tag-input": "^4.1.3",
57
+ "@hi-ui/tag-input": "^4.1.4",
58
58
  "@hi-ui/times": "^4.0.4",
59
59
  "@hi-ui/tree-utils": "^4.1.6",
60
60
  "@hi-ui/type-assertion": "^4.0.4",
@@ -63,7 +63,7 @@
63
63
  "@hi-ui/use-latest": "^4.0.4",
64
64
  "@hi-ui/use-merge-refs": "^4.0.4",
65
65
  "@hi-ui/use-outside-click": "^4.0.4",
66
- "@hi-ui/use-search-mode": "^4.1.4",
66
+ "@hi-ui/use-search-mode": "^4.2.1",
67
67
  "@hi-ui/use-toggle": "^4.0.4",
68
68
  "@hi-ui/use-uncontrolled-state": "^4.0.4"
69
69
  },