@hi-ui/cascader 4.2.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 +14 -0
- package/lib/cjs/Cascader.js +11 -4
- package/lib/esm/Cascader.js +11 -4
- package/lib/types/Cascader.d.ts +12 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# @hi-ui/cascader
|
2
2
|
|
3
|
+
## 4.3.1
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#2994](https://github.com/XiaoMi/hiui/pull/2994) [`4d6b26507`](https://github.com/XiaoMi/hiui/commit/4d6b26507479030686d5da65e1bec8b353b80bfa) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复 keyword 设置后数据没有过滤的问题
|
8
|
+
|
9
|
+
## 4.3.0
|
10
|
+
|
11
|
+
### Minor Changes
|
12
|
+
|
13
|
+
- [#2921](https://github.com/XiaoMi/hiui/pull/2921) [`c6d9225c5`](https://github.com/XiaoMi/hiui/commit/c6d9225c5f09484344159e31af93f7ae147566bb) Thanks [@yang-x20](https://github.com/yang-x20)! - feat: 新增自定义触发器
|
14
|
+
|
15
|
+
- [#2824](https://github.com/XiaoMi/hiui/pull/2824) [`912c60b7b`](https://github.com/XiaoMi/hiui/commit/912c60b7b0f19a8386ec1de30fe6440e3963f288) Thanks [@xiamiao1121](https://github.com/xiamiao1121)! - feat: 支持前置后置内容
|
16
|
+
|
3
17
|
## 4.2.0
|
4
18
|
|
5
19
|
### Minor Changes
|
package/lib/cjs/Cascader.js
CHANGED
@@ -67,6 +67,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
67
67
|
invalid = props.invalid,
|
68
68
|
filterOption = props.filterOption,
|
69
69
|
searchableProp = props.searchable,
|
70
|
+
keywordProp = props.keyword,
|
70
71
|
onSearchProp = props.onSearch,
|
71
72
|
titleRender = props.render,
|
72
73
|
overlayClassName = props.overlayClassName,
|
@@ -77,13 +78,16 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
77
78
|
visible = props.visible,
|
78
79
|
_props$size = props.size,
|
79
80
|
size = _props$size === void 0 ? 'md' : _props$size,
|
81
|
+
prefix = props.prefix,
|
82
|
+
suffix = props.suffix,
|
80
83
|
onOpen = props.onOpen,
|
81
84
|
onClose = props.onClose,
|
82
85
|
renderExtraFooter = props.renderExtraFooter,
|
83
86
|
dropdownColumnRender = props.dropdownColumnRender,
|
84
87
|
_props$closeOnSelect = props.closeOnSelect,
|
85
88
|
closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,
|
86
|
-
|
89
|
+
customRender = props.customRender,
|
90
|
+
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", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
|
87
91
|
var i18n = core.useLocaleContext();
|
88
92
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
89
93
|
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
@@ -141,6 +145,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
141
145
|
|
142
146
|
var _useSearchMode = useSearchMode.useSearchMode({
|
143
147
|
searchable: searchableProp,
|
148
|
+
keyword: keywordProp,
|
144
149
|
strategies: [customSearchStrategy, upMatchSearchStrategy]
|
145
150
|
}),
|
146
151
|
stateInSearch = _useSearchMode.state,
|
@@ -237,13 +242,15 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
237
242
|
searchable: searchable,
|
238
243
|
scrollable: false,
|
239
244
|
footer: typeAssertion.isFunction(renderExtraFooter) && renderExtraFooter(),
|
245
|
+
keyword: keywordProp,
|
240
246
|
onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
|
241
|
-
trigger: /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
|
247
|
+
trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItem) : customRender : ( /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
|
242
248
|
size: size,
|
243
249
|
clearable: clearable,
|
244
250
|
placeholder: placeholder,
|
245
251
|
displayRender: displayRender,
|
246
|
-
|
252
|
+
prefix: prefix,
|
253
|
+
suffix: [menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null), suffix],
|
247
254
|
focused: menuVisible,
|
248
255
|
value: value[value.length - 1],
|
249
256
|
onChange: function onChange() {
|
@@ -252,7 +259,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
252
259
|
data: mergedData,
|
253
260
|
invalid: invalid,
|
254
261
|
appearance: appearance
|
255
|
-
})
|
262
|
+
}))
|
256
263
|
}), typeAssertion.isArrayNonEmpty(showData) ? /*#__PURE__*/React__default["default"].createElement(CascaderMenuList.CascaderMenuList, null) : null));
|
257
264
|
});
|
258
265
|
if (env.__DEV__) {
|
package/lib/esm/Cascader.js
CHANGED
@@ -54,6 +54,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
54
54
|
invalid = props.invalid,
|
55
55
|
filterOption = props.filterOption,
|
56
56
|
searchableProp = props.searchable,
|
57
|
+
keywordProp = props.keyword,
|
57
58
|
onSearchProp = props.onSearch,
|
58
59
|
titleRender = props.render,
|
59
60
|
overlayClassName = props.overlayClassName,
|
@@ -64,13 +65,16 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
64
65
|
visible = props.visible,
|
65
66
|
_props$size = props.size,
|
66
67
|
size = _props$size === void 0 ? 'md' : _props$size,
|
68
|
+
prefix = props.prefix,
|
69
|
+
suffix = props.suffix,
|
67
70
|
onOpen = props.onOpen,
|
68
71
|
onClose = props.onClose,
|
69
72
|
renderExtraFooter = props.renderExtraFooter,
|
70
73
|
dropdownColumnRender = props.dropdownColumnRender,
|
71
74
|
_props$closeOnSelect = props.closeOnSelect,
|
72
75
|
closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,
|
73
|
-
|
76
|
+
customRender = props.customRender,
|
77
|
+
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", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
|
74
78
|
var i18n = useLocaleContext();
|
75
79
|
var placeholder = isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
|
76
80
|
var _useUncontrolledToggl = useUncontrolledToggle({
|
@@ -128,6 +132,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
128
132
|
|
129
133
|
var _useSearchMode = useSearchMode({
|
130
134
|
searchable: searchableProp,
|
135
|
+
keyword: keywordProp,
|
131
136
|
strategies: [customSearchStrategy, upMatchSearchStrategy]
|
132
137
|
}),
|
133
138
|
stateInSearch = _useSearchMode.state,
|
@@ -224,13 +229,15 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
224
229
|
searchable: searchable,
|
225
230
|
scrollable: false,
|
226
231
|
footer: isFunction(renderExtraFooter) && renderExtraFooter(),
|
232
|
+
keyword: keywordProp,
|
227
233
|
onSearch: callAllFuncs(onSearchProp, onSearch),
|
228
|
-
trigger: /*#__PURE__*/React.createElement(MockInput, {
|
234
|
+
trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItem) : customRender : ( /*#__PURE__*/React.createElement(MockInput, {
|
229
235
|
size: size,
|
230
236
|
clearable: clearable,
|
231
237
|
placeholder: placeholder,
|
232
238
|
displayRender: displayRender,
|
233
|
-
|
239
|
+
prefix: prefix,
|
240
|
+
suffix: [menuVisible ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null), suffix],
|
234
241
|
focused: menuVisible,
|
235
242
|
value: value[value.length - 1],
|
236
243
|
onChange: function onChange() {
|
@@ -239,7 +246,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
239
246
|
data: mergedData,
|
240
247
|
invalid: invalid,
|
241
248
|
appearance: appearance
|
242
|
-
})
|
249
|
+
}))
|
243
250
|
}), isArrayNonEmpty(showData) ? /*#__PURE__*/React.createElement(CascaderMenuList, null) : null));
|
244
251
|
});
|
245
252
|
if (__DEV__) {
|
package/lib/types/Cascader.d.ts
CHANGED
@@ -77,4 +77,16 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
77
77
|
* 设置尺寸
|
78
78
|
*/
|
79
79
|
size?: HiBaseSizeEnum;
|
80
|
+
/**
|
81
|
+
* 选择框前置内容
|
82
|
+
*/
|
83
|
+
prefix?: React.ReactNode;
|
84
|
+
/**
|
85
|
+
* 选择框后置内容
|
86
|
+
*/
|
87
|
+
suffix?: React.ReactNode;
|
88
|
+
/**
|
89
|
+
* 自定义触发器
|
90
|
+
*/
|
91
|
+
customRender?: React.ReactNode | ((selectedItem: CascaderItemEventData | null) => React.ReactNode);
|
80
92
|
}
|