@hi-ui/check-cascader 4.3.2 → 4.4.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,26 @@
1
1
  # @hi-ui/check-cascader
2
2
 
3
+ ## 4.4.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
+
13
+ ## 4.4.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#3172](https://github.com/XiaoMi/hiui/pull/3172) [`a883d8e19`](https://github.com/XiaoMi/hiui/commit/a883d8e197446ef0e7cefcc5cc44d21ed1d0807f) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(mock-input): 增加 onClear 参数 (#3171)
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [[`a883d8e19`](https://github.com/XiaoMi/hiui/commit/a883d8e197446ef0e7cefcc5cc44d21ed1d0807f)]:
22
+ - @hi-ui/input@4.4.0
23
+
3
24
  ## 4.3.2
4
25
 
5
26
  ### Patch Changes
@@ -54,6 +54,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
54
54
  data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
55
55
  placeholderProp = _a.placeholder,
56
56
  clearable = _a.clearable,
57
+ onClear = _a.onClear,
57
58
  onSelect = _a.onSelect,
58
59
  expandTrigger = _a.expandTrigger,
59
60
  _a$disabled = _a.disabled,
@@ -85,8 +86,9 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
85
86
  dropdownColumnRender = _a.dropdownColumnRender,
86
87
  customRender = _a.customRender,
87
88
  fieldNames = _a.fieldNames,
88
- rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "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"]);
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"]);
89
90
  var i18n = core.useLocaleContext();
91
+ var pickerInnerRef = React.useRef(null);
90
92
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
91
93
  var flatted = type === 'flatted';
92
94
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
@@ -204,8 +206,16 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
204
206
  return flattedDataMap.get(selectedId);
205
207
  });
206
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]);
207
216
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
208
217
  ref: ref,
218
+ innerRef: pickerInnerRef,
209
219
  className: cls,
210
220
  overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
211
221
  }, rest, {
@@ -228,6 +238,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
228
238
  trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItems) : customRender : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({}, tagInputProps, {
229
239
  size: size,
230
240
  clearable: clearable,
241
+ onClear: onClear,
231
242
  placeholder: placeholder,
232
243
  // @ts-ignore
233
244
  displayRender: displayRender,
@@ -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';
@@ -42,6 +42,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
42
42
  data = _a$data === void 0 ? NOOP_ARRAY : _a$data,
43
43
  placeholderProp = _a.placeholder,
44
44
  clearable = _a.clearable,
45
+ onClear = _a.onClear,
45
46
  onSelect = _a.onSelect,
46
47
  expandTrigger = _a.expandTrigger,
47
48
  _a$disabled = _a.disabled,
@@ -73,8 +74,9 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
73
74
  dropdownColumnRender = _a.dropdownColumnRender,
74
75
  customRender = _a.customRender,
75
76
  fieldNames = _a.fieldNames,
76
- rest = __rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "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"]);
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"]);
77
78
  var i18n = useLocaleContext();
79
+ var pickerInnerRef = useRef(null);
78
80
  var placeholder = isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
79
81
  var flatted = type === 'flatted';
80
82
  var _useUncontrolledToggl = useUncontrolledToggle({
@@ -192,8 +194,16 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
192
194
  return flattedDataMap.get(selectedId);
193
195
  });
194
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]);
195
204
  return /*#__PURE__*/React.createElement(Picker, Object.assign({
196
205
  ref: ref,
206
+ innerRef: pickerInnerRef,
197
207
  className: cls,
198
208
  overlayClassName: cx(prefixCls + "__popper", overlayClassName)
199
209
  }, rest, {
@@ -216,6 +226,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
216
226
  trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItems) : customRender : ( /*#__PURE__*/React.createElement(TagInputMock, Object.assign({}, tagInputProps, {
217
227
  size: size,
218
228
  clearable: clearable,
229
+ onClear: onClear,
219
230
  placeholder: placeholder,
220
231
  // @ts-ignore
221
232
  displayRender: displayRender,
@@ -45,6 +45,10 @@ export interface CheckCascaderProps extends Omit<PickerProps, 'trigger' | 'scrol
45
45
  * 是否可清空
46
46
  */
47
47
  clearable?: boolean;
48
+ /**
49
+ * 点击关闭按钮时触发
50
+ */
51
+ onClear?: () => void;
48
52
  /**
49
53
  * 是否禁止使用
50
54
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/check-cascader",
3
- "version": "4.3.2",
3
+ "version": "4.4.1",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -50,9 +50,9 @@
50
50
  "@hi-ui/env": "^4.0.5",
51
51
  "@hi-ui/func-utils": "^4.0.4",
52
52
  "@hi-ui/icons": "^4.0.19",
53
- "@hi-ui/input": "^4.3.0",
54
- "@hi-ui/picker": "^4.1.6",
55
- "@hi-ui/popper": "^4.1.5",
53
+ "@hi-ui/input": "^4.4.0",
54
+ "@hi-ui/picker": "^4.1.8",
55
+ "@hi-ui/popper": "^4.1.7",
56
56
  "@hi-ui/spinner": "^4.0.9",
57
57
  "@hi-ui/tag-input": "^4.1.3",
58
58
  "@hi-ui/times": "^4.0.4",