@hi-ui/cascader 4.2.0 → 4.3.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,13 @@
1
1
  # @hi-ui/cascader
2
2
 
3
+ ## 4.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#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: 新增自定义触发器
8
+
9
+ - [#2824](https://github.com/XiaoMi/hiui/pull/2824) [`912c60b7b`](https://github.com/XiaoMi/hiui/commit/912c60b7b0f19a8386ec1de30fe6440e3963f288) Thanks [@xiamiao1121](https://github.com/xiamiao1121)! - feat: 支持前置后置内容
10
+
3
11
  ## 4.2.0
4
12
 
5
13
  ### Minor Changes
@@ -77,13 +77,16 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
77
77
  visible = props.visible,
78
78
  _props$size = props.size,
79
79
  size = _props$size === void 0 ? 'md' : _props$size,
80
+ prefix = props.prefix,
81
+ suffix = props.suffix,
80
82
  onOpen = props.onOpen,
81
83
  onClose = props.onClose,
82
84
  renderExtraFooter = props.renderExtraFooter,
83
85
  dropdownColumnRender = props.dropdownColumnRender,
84
86
  _props$closeOnSelect = props.closeOnSelect,
85
87
  closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,
86
- rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "onOpen", "onClose", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect"]);
88
+ customRender = props.customRender,
89
+ rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
87
90
  var i18n = core.useLocaleContext();
88
91
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
89
92
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
@@ -238,12 +241,13 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
238
241
  scrollable: false,
239
242
  footer: typeAssertion.isFunction(renderExtraFooter) && renderExtraFooter(),
240
243
  onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
241
- trigger: /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
244
+ trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItem) : customRender : ( /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
242
245
  size: size,
243
246
  clearable: clearable,
244
247
  placeholder: placeholder,
245
248
  displayRender: displayRender,
246
- suffix: menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null),
249
+ prefix: prefix,
250
+ suffix: [menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null), suffix],
247
251
  focused: menuVisible,
248
252
  value: value[value.length - 1],
249
253
  onChange: function onChange() {
@@ -252,7 +256,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
252
256
  data: mergedData,
253
257
  invalid: invalid,
254
258
  appearance: appearance
255
- })
259
+ }))
256
260
  }), typeAssertion.isArrayNonEmpty(showData) ? /*#__PURE__*/React__default["default"].createElement(CascaderMenuList.CascaderMenuList, null) : null));
257
261
  });
258
262
  if (env.__DEV__) {
@@ -64,13 +64,16 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
64
64
  visible = props.visible,
65
65
  _props$size = props.size,
66
66
  size = _props$size === void 0 ? 'md' : _props$size,
67
+ prefix = props.prefix,
68
+ suffix = props.suffix,
67
69
  onOpen = props.onOpen,
68
70
  onClose = props.onClose,
69
71
  renderExtraFooter = props.renderExtraFooter,
70
72
  dropdownColumnRender = props.dropdownColumnRender,
71
73
  _props$closeOnSelect = props.closeOnSelect,
72
74
  closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,
73
- rest = __rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "onOpen", "onClose", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect"]);
75
+ customRender = props.customRender,
76
+ rest = __rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
74
77
  var i18n = useLocaleContext();
75
78
  var placeholder = isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
76
79
  var _useUncontrolledToggl = useUncontrolledToggle({
@@ -225,12 +228,13 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
225
228
  scrollable: false,
226
229
  footer: isFunction(renderExtraFooter) && renderExtraFooter(),
227
230
  onSearch: callAllFuncs(onSearchProp, onSearch),
228
- trigger: /*#__PURE__*/React.createElement(MockInput, {
231
+ trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItem) : customRender : ( /*#__PURE__*/React.createElement(MockInput, {
229
232
  size: size,
230
233
  clearable: clearable,
231
234
  placeholder: placeholder,
232
235
  displayRender: displayRender,
233
- suffix: menuVisible ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null),
236
+ prefix: prefix,
237
+ suffix: [menuVisible ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null), suffix],
234
238
  focused: menuVisible,
235
239
  value: value[value.length - 1],
236
240
  onChange: function onChange() {
@@ -239,7 +243,7 @@ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
239
243
  data: mergedData,
240
244
  invalid: invalid,
241
245
  appearance: appearance
242
- })
246
+ }))
243
247
  }), isArrayNonEmpty(showData) ? /*#__PURE__*/React.createElement(CascaderMenuList, null) : null));
244
248
  });
245
249
  if (__DEV__) {
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/cascader",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",