@hi-ui/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 +21 -0
- package/lib/cjs/Cascader.js +9 -0
- package/lib/cjs/use-cascader.js +1 -1
- package/lib/esm/Cascader.js +10 -1
- package/lib/esm/use-cascader.js +1 -1
- package/lib/types/use-cascader.d.ts +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @hi-ui/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)]:
|
|
12
|
+
- @hi-ui/use-search-mode@4.2.1
|
|
13
|
+
|
|
14
|
+
## 4.4.1
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [#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)
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [[`80a909d2d`](https://github.com/XiaoMi/hiui/commit/80a909d2dae99d68d71f2ec6f4b210080d032ec0)]:
|
|
21
|
+
- @hi-ui/picker@4.1.8
|
|
22
|
+
- @hi-ui/popper@4.1.7
|
|
23
|
+
|
|
3
24
|
## 4.4.0
|
|
4
25
|
|
|
5
26
|
### Minor Changes
|
package/lib/cjs/Cascader.js
CHANGED
|
@@ -90,6 +90,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
90
90
|
customRender = props.customRender,
|
|
91
91
|
rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
|
|
92
92
|
var i18n = core.useLocaleContext();
|
|
93
|
+
var pickerInnerRef = React.useRef(null);
|
|
93
94
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
|
94
95
|
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
|
95
96
|
visible: visible,
|
|
@@ -220,6 +221,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
220
221
|
return flattedData;
|
|
221
222
|
}, [selectedItem, flattedData]);
|
|
222
223
|
var cls = classname.cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
|
|
224
|
+
React.useEffect(function () {
|
|
225
|
+
var _a;
|
|
226
|
+
if (menuVisible) {
|
|
227
|
+
// 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
|
|
228
|
+
(_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
|
|
229
|
+
}
|
|
230
|
+
}, [menuVisible, showData]);
|
|
223
231
|
return /*#__PURE__*/React__default["default"].createElement(context.CascaderProvider, {
|
|
224
232
|
value: Object.assign(Object.assign({}, context$1), {
|
|
225
233
|
expandTrigger: expandTrigger,
|
|
@@ -229,6 +237,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
229
237
|
})
|
|
230
238
|
}, /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
|
|
231
239
|
ref: ref,
|
|
240
|
+
innerRef: pickerInnerRef,
|
|
232
241
|
className: cls,
|
|
233
242
|
overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
|
|
234
243
|
}, rootProps, {
|
package/lib/cjs/use-cascader.js
CHANGED
|
@@ -56,7 +56,7 @@ var useCascader = function useCascader(_a) {
|
|
|
56
56
|
tryChangeValue(itemPaths.map(function (_ref) {
|
|
57
57
|
var id = _ref.id;
|
|
58
58
|
return id;
|
|
59
|
-
}));
|
|
59
|
+
}), item, itemPaths);
|
|
60
60
|
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
|
61
61
|
};
|
|
62
62
|
// 单击选中某项
|
package/lib/esm/Cascader.js
CHANGED
|
@@ -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, useState, useMemo, useEffect } from 'react';
|
|
11
|
+
import React, { forwardRef, useRef, useState, useMemo, 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';
|
|
@@ -77,6 +77,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
77
77
|
customRender = props.customRender,
|
|
78
78
|
rest = __rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
|
|
79
79
|
var i18n = useLocaleContext();
|
|
80
|
+
var pickerInnerRef = useRef(null);
|
|
80
81
|
var placeholder = isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
|
81
82
|
var _useUncontrolledToggl = useUncontrolledToggle({
|
|
82
83
|
visible: visible,
|
|
@@ -207,6 +208,13 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
207
208
|
return flattedData;
|
|
208
209
|
}, [selectedItem, flattedData]);
|
|
209
210
|
var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
|
|
211
|
+
useEffect(function () {
|
|
212
|
+
var _a;
|
|
213
|
+
if (menuVisible) {
|
|
214
|
+
// 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
|
|
215
|
+
(_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
|
|
216
|
+
}
|
|
217
|
+
}, [menuVisible, showData]);
|
|
210
218
|
return /*#__PURE__*/React.createElement(CascaderProvider, {
|
|
211
219
|
value: Object.assign(Object.assign({}, context), {
|
|
212
220
|
expandTrigger: expandTrigger,
|
|
@@ -216,6 +224,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
216
224
|
})
|
|
217
225
|
}, /*#__PURE__*/React.createElement(Picker, Object.assign({
|
|
218
226
|
ref: ref,
|
|
227
|
+
innerRef: pickerInnerRef,
|
|
219
228
|
className: cls,
|
|
220
229
|
overlayClassName: cx(prefixCls + "__popper", overlayClassName)
|
|
221
230
|
}, rootProps, {
|
package/lib/esm/use-cascader.js
CHANGED
|
@@ -51,7 +51,7 @@ var useCascader = function useCascader(_a) {
|
|
|
51
51
|
tryChangeValue(itemPaths.map(function (_ref) {
|
|
52
52
|
var id = _ref.id;
|
|
53
53
|
return id;
|
|
54
|
-
}));
|
|
54
|
+
}), item, itemPaths);
|
|
55
55
|
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
|
56
56
|
};
|
|
57
57
|
// 单击选中某项
|
|
@@ -41,7 +41,7 @@ export interface UseCascaderProps {
|
|
|
41
41
|
/**
|
|
42
42
|
* 选中值改变时的回调
|
|
43
43
|
*/
|
|
44
|
-
onChange?: (value: React.ReactText[]) => void;
|
|
44
|
+
onChange?: (value: React.ReactText[], targetOption?: CascaderItemEventData, optionPaths?: FlattedCascaderDataItem[]) => void;
|
|
45
45
|
/**
|
|
46
46
|
* 选中选项时触发,仅供内部使用。暂不对外暴露
|
|
47
47
|
* @private
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hi-ui/cascader",
|
|
3
|
-
"version": "4.
|
|
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>",
|
|
@@ -50,15 +50,15 @@
|
|
|
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.
|
|
54
|
-
"@hi-ui/popper": "^4.1.
|
|
53
|
+
"@hi-ui/picker": "^4.1.8",
|
|
54
|
+
"@hi-ui/popper": "^4.1.7",
|
|
55
55
|
"@hi-ui/spinner": "^4.0.9",
|
|
56
56
|
"@hi-ui/tree-utils": "^4.1.4",
|
|
57
57
|
"@hi-ui/type-assertion": "^4.0.4",
|
|
58
58
|
"@hi-ui/use-check-state": "^4.0.4",
|
|
59
59
|
"@hi-ui/use-data-source": "^4.0.4",
|
|
60
60
|
"@hi-ui/use-latest": "^4.0.4",
|
|
61
|
-
"@hi-ui/use-search-mode": "^4.1
|
|
61
|
+
"@hi-ui/use-search-mode": "^4.2.1",
|
|
62
62
|
"@hi-ui/use-toggle": "^4.0.4",
|
|
63
63
|
"@hi-ui/use-uncontrolled-state": "^4.0.4"
|
|
64
64
|
},
|