@qsxy/element-plus-react 1.0.2 → 1.0.3
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/dist/Alert/Alert.d.ts +7 -0
- package/dist/Alert/Alert.js +98 -0
- package/dist/Alert/index.d.ts +2 -0
- package/dist/Alert/index.js +1 -0
- package/dist/Alert/typings.d.ts +45 -0
- package/dist/Alert/typings.js +1 -0
- package/dist/Card/Card.js +5 -3
- package/dist/Cascader/useCascader.d.ts +0 -14
- package/dist/Cascader/useCascader.js +33 -32
- package/dist/Checkbox/Checkbox.js +3 -2
- package/dist/ConfigProvider/ConfigProvider.js +2 -24
- package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
- package/dist/ConfigProvider/typings.d.ts +1 -1
- package/dist/Container/Main.d.ts +1 -1
- package/dist/Container/typings.d.ts +1 -1
- package/dist/Dialog/Dialog.js +5 -12
- package/dist/Input/Input.js +68 -43
- package/dist/Input/TextArea.js +1 -1
- package/dist/Input/typings.d.ts +42 -1
- package/dist/Input/utils.d.ts +1 -0
- package/dist/Input/utils.js +5 -1
- package/dist/InputNumber/InputNumber.js +351 -141
- package/dist/InputNumber/typings.d.ts +15 -1
- package/dist/Loading/Loading.js +5 -2
- package/dist/Menu/Menu.js +25 -1
- package/dist/Menu/MenuItem.js +4 -2
- package/dist/Menu/SubMenu.js +2 -2
- package/dist/Menu/SubMenuCollapseTransition.js +14 -9
- package/dist/Menu/typings.d.ts +2 -1
- package/dist/Message/Message.js +51 -23
- package/dist/Message/index.js +8 -10
- package/dist/Message/typings.d.ts +8 -5
- package/dist/MessageBox/MessageBox.js +52 -30
- package/dist/MessageBox/index.d.ts +2 -1
- package/dist/MessageBox/index.js +4 -2
- package/dist/MessageBox/typings.d.ts +3 -0
- package/dist/Notification/Notification.js +26 -19
- package/dist/Select/SelectContext.d.ts +2 -1
- package/dist/Select/SelectContext.js +2 -1
- package/dist/Select/SelectCore.js +13 -7
- package/dist/Select/SelectDropdown.js +23 -15
- package/dist/Select/index.d.ts +1 -1
- package/dist/Select/typings.d.ts +13 -9
- package/dist/Select/useSelect.d.ts +13 -10
- package/dist/Select/useSelect.js +34 -26
- package/dist/Space/Space.d.ts +4 -0
- package/dist/Space/Space.js +128 -0
- package/dist/Space/SpaceItem.d.ts +7 -0
- package/dist/Space/SpaceItem.js +14 -0
- package/dist/Space/index.d.ts +3 -0
- package/dist/Space/index.js +2 -0
- package/dist/Space/typings.d.ts +26 -0
- package/dist/Space/typings.js +1 -0
- package/dist/Space/useSpace.d.ts +7 -0
- package/dist/Space/useSpace.js +104 -0
- package/dist/Statistic/Statistic.d.ts +4 -0
- package/dist/Statistic/Statistic.js +92 -0
- package/dist/Statistic/index.d.ts +2 -0
- package/dist/Statistic/index.js +1 -0
- package/dist/Statistic/typings.d.ts +28 -0
- package/dist/Statistic/typings.js +1 -0
- package/dist/Switch/Switch.js +2 -2
- package/dist/Table/Table.js +3 -0
- package/dist/Table/typings.d.ts +2 -0
- package/dist/Tag/typings.d.ts +1 -1
- package/dist/Text/Text.d.ts +4 -0
- package/dist/Text/Text.js +84 -0
- package/dist/Text/index.d.ts +2 -0
- package/dist/Text/index.js +1 -0
- package/dist/Text/typings.d.ts +15 -0
- package/dist/Text/typings.js +1 -0
- package/dist/Tree/CollapseTransition.d.ts +7 -0
- package/dist/Tree/CollapseTransition.js +60 -0
- package/dist/Tree/Tree.d.ts +3 -140
- package/dist/Tree/Tree.js +350 -77
- package/dist/Tree/TreeContext.d.ts +9 -0
- package/dist/Tree/TreeContext.js +14 -0
- package/dist/Tree/TreeNode.d.ts +5 -3
- package/dist/Tree/TreeNode.js +321 -331
- package/dist/Tree/TreeNodeContent.d.ts +9 -0
- package/dist/Tree/TreeNodeContent.js +22 -0
- package/dist/Tree/index.d.ts +3 -8
- package/dist/Tree/index.js +1 -4
- package/dist/Tree/model/node.d.ts +62 -0
- package/dist/Tree/model/node.js +601 -0
- package/dist/Tree/model/tree-store.d.ts +52 -0
- package/dist/Tree/model/tree-store.js +510 -0
- package/dist/Tree/model/useDragNode.d.ts +30 -0
- package/dist/Tree/model/useDragNode.js +293 -0
- package/dist/Tree/model/useKeydown.d.ts +0 -0
- package/dist/Tree/model/useKeydown.js +104 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
- package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
- package/dist/Tree/model/util.d.ts +7 -0
- package/dist/Tree/model/util.js +24 -0
- package/dist/Tree/typings.d.ts +225 -114
- package/dist/TreeSelect/TreeSelect.d.ts +2 -10
- package/dist/TreeSelect/TreeSelect.js +90 -566
- package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
- package/dist/TreeSelect/TreeSelectOption.js +62 -0
- package/dist/TreeSelect/cacheOptions.d.ts +9 -0
- package/dist/TreeSelect/cacheOptions.js +22 -0
- package/dist/TreeSelect/index.d.ts +0 -1
- package/dist/TreeSelect/typings.d.ts +11 -63
- package/dist/TreeSelect/useSelect.d.ts +125 -0
- package/dist/TreeSelect/useSelect.js +104 -0
- package/dist/TreeSelect/useTree.d.ts +130 -0
- package/dist/TreeSelect/useTree.js +285 -0
- package/dist/TreeSelect/utils.d.ts +10 -0
- package/dist/TreeSelect/utils.js +38 -0
- package/dist/Upload/UploadContent.js +2 -0
- package/dist/Upload/ajax.js +3 -0
- package/dist/Upload/typings.d.ts +4 -0
- package/dist/Util/aria.js +12 -12
- package/dist/Util/base.d.ts +5 -0
- package/dist/Util/base.js +140 -1
- package/dist/config/Constants.d.ts +3 -0
- package/dist/config/Constants.js +8 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/popperPropsUtils.js +1 -1
- package/dist/hooks/treePropsUtils.d.ts +3 -3
- package/dist/hooks/treePropsUtils.js +2 -2
- package/dist/hooks/useConfigProvider.d.ts +27 -0
- package/dist/hooks/useConfigProvider.js +78 -0
- package/dist/hooks/useResizeObserver.js +6 -6
- package/dist/index.css +1 -1
- package/dist/index.d.ts +18 -11
- package/dist/index.js +11 -5
- package/package.json +1 -1
- package/theme-chalk/alert.scss +115 -0
- package/theme-chalk/aside.scss +8 -8
- package/theme-chalk/button-group.scss +80 -80
- package/theme-chalk/button.scss +304 -304
- package/theme-chalk/calendar/date-table.scss +164 -164
- package/theme-chalk/checkbox.scss +34 -0
- package/theme-chalk/color/index.scss +20 -20
- package/theme-chalk/common/transition.scss +142 -142
- package/theme-chalk/container.scss +14 -14
- package/theme-chalk/dark/css-vars.scss +39 -39
- package/theme-chalk/dark/var.scss +225 -225
- package/theme-chalk/date-picker.scss +12 -12
- package/theme-chalk/drawer.scss +1 -0
- package/theme-chalk/footer.scss +12 -12
- package/theme-chalk/header.scss +12 -12
- package/theme-chalk/index.scss +4 -0
- package/theme-chalk/input/input-range.scss +2 -1
- package/theme-chalk/input/input.scss +439 -424
- package/theme-chalk/input-number.bak +172 -0
- package/theme-chalk/input-number.scss +192 -172
- package/theme-chalk/link.scss +87 -87
- package/theme-chalk/main.scss +14 -14
- package/theme-chalk/menu.scss +353 -353
- package/theme-chalk/message.scss +104 -178
- package/theme-chalk/mixins/_button.scss +224 -224
- package/theme-chalk/mixins/_col.scss +33 -33
- package/theme-chalk/mixins/_var.scss +67 -67
- package/theme-chalk/mixins/config.scss +5 -5
- package/theme-chalk/mixins/function.scss +99 -99
- package/theme-chalk/mixins/mixins.scss +240 -240
- package/theme-chalk/mixins/utils.scss +39 -39
- package/theme-chalk/notification.bak +156 -0
- package/theme-chalk/notification.scss +109 -156
- package/theme-chalk/popper.scss +104 -104
- package/theme-chalk/radio-button.scss +169 -169
- package/theme-chalk/select/index.scss +278 -272
- package/theme-chalk/space.scss +20 -0
- package/theme-chalk/statistic.scss +35 -0
- package/theme-chalk/switch.scss +300 -300
- package/theme-chalk/tag.scss +181 -181
- package/theme-chalk/text.scss +48 -0
- package/theme-chalk/transition.scss +34 -4
- package/theme-chalk/tree-select.scss +41 -25
- package/theme-chalk/tree.scss +136 -0
- package/theme-chalk/var.scss +83 -83
- package/dist/Input/Input.1.d.ts +0 -16
- package/dist/Input/Input.1.js +0 -376
- package/dist/Tree/DirectoryTree.d.ts +0 -15
- package/dist/Tree/DirectoryTree.js +0 -183
- package/dist/Tree/DropIndicator.d.ts +0 -8
- package/dist/Tree/DropIndicator.js +0 -34
- package/dist/Tree/Indent.d.ts +0 -9
- package/dist/Tree/Indent.js +0 -25
- package/dist/Tree/MotionTreeNode.d.ts +0 -14
- package/dist/Tree/MotionTreeNode.js +0 -125
- package/dist/Tree/NodeList.d.ts +0 -50
- package/dist/Tree/NodeList.js +0 -301
- package/dist/Tree/RCTree.d.ts +0 -248
- package/dist/Tree/RCTree.js +0 -1216
- package/dist/Tree/contextTypes.d.ts +0 -69
- package/dist/Tree/contextTypes.js +0 -9
- package/dist/Tree/typings.tsx--bak +0 -245
- package/dist/Tree/useUnmount.d.ts +0 -5
- package/dist/Tree/useUnmount.js +0 -34
- package/dist/Tree/util.d.ts +0 -51
- package/dist/Tree/util.js +0 -303
- package/dist/Tree/utils/conductUtil.d.ts +0 -17
- package/dist/Tree/utils/conductUtil.js +0 -209
- package/dist/Tree/utils/dictUtil.d.ts +0 -13
- package/dist/Tree/utils/dictUtil.js +0 -75
- package/dist/Tree/utils/diffUtil.d.ts +0 -7
- package/dist/Tree/utils/diffUtil.js +0 -48
- package/dist/Tree/utils/dropIndicator.d.ts +0 -11
- package/dist/Tree/utils/dropIndicator.js +0 -36
- package/dist/Tree/utils/iconUtil.d.ts +0 -5
- package/dist/Tree/utils/iconUtil.js +0 -62
- package/dist/Tree/utils/keyUtil.d.ts +0 -2
- package/dist/Tree/utils/keyUtil.js +0 -3
- package/dist/Tree/utils/motion.d.ts +0 -10
- package/dist/Tree/utils/motion.js +0 -54
- package/dist/Tree/utils/pickAttrs.d.ts +0 -11
- package/dist/Tree/utils/pickAttrs.js +0 -51
- package/dist/Tree/utils/treeUtil.d.ts +0 -86
- package/dist/Tree/utils/treeUtil.js +0 -364
- package/dist/TreeSelect/Utils.d.ts +0 -3
- package/dist/TreeSelect/Utils.js +0 -20
|
@@ -2,10 +2,10 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
2
2
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
5
6
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
8
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
9
9
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
10
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
11
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -15,9 +15,10 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
15
15
|
import classNames from 'classnames';
|
|
16
16
|
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
17
17
|
import { createPortal } from 'react-dom';
|
|
18
|
+
import Icon from "../Icon/Icon";
|
|
18
19
|
import Transition from "../Transition/Transition";
|
|
19
20
|
import { PopupManager, mergeDefaultProps } from "../Util";
|
|
20
|
-
import { EVENT_CODE,
|
|
21
|
+
import { EVENT_CODE, TypeComponentsMap } from "../config/Constants";
|
|
21
22
|
import { useClassNames } from "../hooks";
|
|
22
23
|
var Notification = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
23
24
|
props = mergeDefaultProps({
|
|
@@ -48,6 +49,7 @@ var Notification = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
48
49
|
afterLeave = _props.afterLeave;
|
|
49
50
|
var _useClassNames = useClassNames(classPrefix),
|
|
50
51
|
b = _useClassNames.b,
|
|
52
|
+
m = _useClassNames.m,
|
|
51
53
|
e = _useClassNames.e;
|
|
52
54
|
var _useState = useState(false),
|
|
53
55
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -61,7 +63,12 @@ var Notification = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
61
63
|
var timer = useRef(null);
|
|
62
64
|
var notificationRef = useRef(null);
|
|
63
65
|
var contentRef = useRef(null);
|
|
64
|
-
var
|
|
66
|
+
var horizontalProperty = useMemo(function () {
|
|
67
|
+
return position.endsWith('right') ? 'right' : 'left';
|
|
68
|
+
}, [position]);
|
|
69
|
+
var verticalProperty = useMemo(function () {
|
|
70
|
+
return position.startsWith('top') ? 'top' : 'bottom';
|
|
71
|
+
}, [position]);
|
|
65
72
|
var handleClose = useCallback(function () {
|
|
66
73
|
setVisible(false);
|
|
67
74
|
onClose === null || onClose === void 0 || onClose();
|
|
@@ -124,20 +131,20 @@ var Notification = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
124
131
|
}
|
|
125
132
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
126
133
|
}, [visible]);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var _type = !iconClass && type;
|
|
131
|
-
return _type && TypeMap[_type] ? b("icon-".concat(TypeMap[_type]), false) : '';
|
|
132
|
-
}, [b, iconClass, type]);
|
|
134
|
+
var positionStyle = useMemo(function () {
|
|
135
|
+
return _defineProperty(_defineProperty({}, verticalProperty, "".concat(offset, "px")), "zIndex", PopupManager.nextZIndex());
|
|
136
|
+
}, [offset, verticalProperty]);
|
|
133
137
|
|
|
134
138
|
/** 关闭图标 */
|
|
139
|
+
// const closeIcon = useMemo(() => showClose && <div className={classNames(e`closeBtn`, b('icon-close', false))} onClick={handleClose} />, [showClose, e, b, handleClose]);
|
|
135
140
|
var closeIcon = useMemo(function () {
|
|
136
|
-
return showClose && /*#__PURE__*/React.createElement(
|
|
137
|
-
|
|
141
|
+
return showClose && /*#__PURE__*/React.createElement(Icon, {
|
|
142
|
+
name: "xmark",
|
|
143
|
+
prefix: "fal",
|
|
144
|
+
className: classNames(e(_templateObject || (_templateObject = _taggedTemplateLiteral(["closeBtn"])))),
|
|
138
145
|
onClick: handleClose
|
|
139
146
|
});
|
|
140
|
-
}, [showClose, e,
|
|
147
|
+
}, [showClose, e, handleClose]);
|
|
141
148
|
return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Transition, {
|
|
142
149
|
nodeRef: notificationRef,
|
|
143
150
|
name: b('notification-fade', false),
|
|
@@ -146,19 +153,19 @@ var Notification = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
146
153
|
afterLeave: afterLeave
|
|
147
154
|
}, /*#__PURE__*/React.createElement("div", {
|
|
148
155
|
ref: notificationRef,
|
|
149
|
-
className: classNames(b(),
|
|
150
|
-
style: _objectSpread(
|
|
156
|
+
className: classNames(b(), horizontalProperty, props.className),
|
|
157
|
+
style: _objectSpread(_objectSpread({}, props.style), positionStyle)
|
|
151
158
|
// 鼠标悬浮停止自动关闭
|
|
152
159
|
,
|
|
153
160
|
onMouseEnter: clearTimer,
|
|
154
161
|
onMouseLeave: startTimer,
|
|
155
162
|
onClick: props.onClick
|
|
156
|
-
}, (type || iconClass) && /*#__PURE__*/React.createElement(
|
|
157
|
-
|
|
163
|
+
}, (type || iconClass) && /*#__PURE__*/React.createElement(Icon, {
|
|
164
|
+
name: TypeComponentsMap[type],
|
|
165
|
+
prefix: "fas",
|
|
166
|
+
className: classNames(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["icon"]))), _defineProperty({}, m(type), type && TypeComponentsMap[type]), iconClass)
|
|
158
167
|
}), /*#__PURE__*/React.createElement("div", {
|
|
159
|
-
className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["group"])))
|
|
160
|
-
'is-with-icon': typeClass || iconClass
|
|
161
|
-
})
|
|
168
|
+
className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["group"]))))
|
|
162
169
|
}, /*#__PURE__*/React.createElement("h2", {
|
|
163
170
|
className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["title"])))
|
|
164
171
|
}, title), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
import { OptionData, OptionValue, ValueType } from './typings';
|
|
3
3
|
export interface SelectContextProps {
|
|
4
4
|
value: ValueType;
|
|
@@ -6,5 +6,6 @@ export interface SelectContextProps {
|
|
|
6
6
|
setHover: (value: ValueType) => void;
|
|
7
7
|
onChoose: (value: OptionValue, data: OptionData, e: any) => void;
|
|
8
8
|
multiple: boolean;
|
|
9
|
+
cachedOptions: RefObject<Map<OptionValue, OptionData>>;
|
|
9
10
|
}
|
|
10
11
|
export declare const SelectContext: import("react").Context<SelectContextProps>;
|
|
@@ -51,6 +51,7 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
51
51
|
value = _props.value,
|
|
52
52
|
setValue = _props.setValue,
|
|
53
53
|
disabled = _props.disabled,
|
|
54
|
+
plain = _props.plain,
|
|
54
55
|
size = _props.size,
|
|
55
56
|
multiValue = _props.multiValue,
|
|
56
57
|
multiOptionData = _props.multiOptionData,
|
|
@@ -72,7 +73,8 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
72
73
|
handleCompositionStart = _props.handleCompositionStart,
|
|
73
74
|
handleCompositionUpdate = _props.handleCompositionUpdate,
|
|
74
75
|
handleCompositionEnd = _props.handleCompositionEnd,
|
|
75
|
-
tag = _props.tag
|
|
76
|
+
tag = _props.tag,
|
|
77
|
+
cachedOptions = _props.cachedOptions;
|
|
76
78
|
var b = nsSelect.b,
|
|
77
79
|
e = nsSelect.e,
|
|
78
80
|
m = nsSelect.m,
|
|
@@ -89,7 +91,9 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
89
91
|
setValue: setValue,
|
|
90
92
|
onClear: onClear,
|
|
91
93
|
clear: onClear,
|
|
92
|
-
setVisible: setVisible
|
|
94
|
+
setVisible: setVisible,
|
|
95
|
+
cachedOptions: cachedOptions,
|
|
96
|
+
onChoose: onChoose
|
|
93
97
|
};
|
|
94
98
|
});
|
|
95
99
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -108,9 +112,10 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
108
112
|
ref: wrapperRef,
|
|
109
113
|
className: classNames(e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["wrapper"]))), is({
|
|
110
114
|
disabled: disabled,
|
|
111
|
-
filterable: filterable
|
|
115
|
+
filterable: filterable,
|
|
116
|
+
plain: plain
|
|
112
117
|
})),
|
|
113
|
-
style: props.style,
|
|
118
|
+
style: append || prepend ? props.style : {},
|
|
114
119
|
onClick: toggleMenu
|
|
115
120
|
}, /*#__PURE__*/React.createElement("div", {
|
|
116
121
|
className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["selection"]))), is({
|
|
@@ -215,7 +220,7 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
215
220
|
className: classNames(e(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["selected-item"]))), e(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["placeholder"]))), is({
|
|
216
221
|
transparent: isEmpty(label) || visible && !inputValue
|
|
217
222
|
}))
|
|
218
|
-
}, isNotEmpty(value) && typeof value === 'string' && labelFormat ? labelFormat === null || labelFormat === void 0 ? void 0 : labelFormat(-1, value, placeholder) : /*#__PURE__*/React.createElement("span", null, placeholder))), /*#__PURE__*/React.createElement("div", {
|
|
223
|
+
}, isNotEmpty(value) && typeof value === 'string' && labelFormat ? labelFormat === null || labelFormat === void 0 ? void 0 : labelFormat(-1, value, placeholder) : /*#__PURE__*/React.createElement("span", null, placeholder))), !plain && /*#__PURE__*/React.createElement("div", {
|
|
219
224
|
ref: suffixWrapperRef,
|
|
220
225
|
className: classNames(e(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["suffix"]))), is(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["hidden-clear"]))))
|
|
221
226
|
}, iconComponent ? /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -244,7 +249,7 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
244
249
|
afterLeave: handleAfterLeave,
|
|
245
250
|
placement: 'bottom-start',
|
|
246
251
|
transitionAppear: true,
|
|
247
|
-
unmountOnExit:
|
|
252
|
+
unmountOnExit: props.unmountOnExit,
|
|
248
253
|
showArrow: showArrow
|
|
249
254
|
}, transitionProps, popperProps), /*#__PURE__*/React.createElement(SelectDropdown, _extends({
|
|
250
255
|
ref: selectDropdownRef,
|
|
@@ -255,7 +260,8 @@ var SelectCore = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
255
260
|
contentRef: contentRef,
|
|
256
261
|
popperInstRef: popperInstRef
|
|
257
262
|
}, _props, {
|
|
258
|
-
onClear: props.onClear
|
|
263
|
+
onClear: props.onClear,
|
|
264
|
+
cachedOptions: cachedOptions
|
|
259
265
|
}), props.children)));
|
|
260
266
|
});
|
|
261
267
|
SelectCore.displayName = 'SelectCore';
|
|
@@ -35,7 +35,8 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
35
35
|
popperInstRef = props.popperInstRef,
|
|
36
36
|
contentRef = props.contentRef,
|
|
37
37
|
header = props.header,
|
|
38
|
-
footer = props.footer
|
|
38
|
+
footer = props.footer,
|
|
39
|
+
cachedOptions = props.cachedOptions;
|
|
39
40
|
var _useClassNames = useClassNames('select'),
|
|
40
41
|
b = _useClassNames.b,
|
|
41
42
|
e = _useClassNames.e,
|
|
@@ -62,25 +63,27 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
62
63
|
if (filterable && remote) {
|
|
63
64
|
remoteMethod === null || remoteMethod === void 0 || remoteMethod(searchText);
|
|
64
65
|
}
|
|
66
|
+
if (filterable && filterMethod) {
|
|
67
|
+
filterMethod === null || filterMethod === void 0 || filterMethod(searchText);
|
|
68
|
+
}
|
|
65
69
|
|
|
66
70
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
71
|
}, [searchText]);
|
|
68
72
|
var filterAction = useCallback(function (p) {
|
|
69
73
|
if (isNotEmpty(searchText) && isNotEmpty(p.value)) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} else {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
74
|
+
var _ref, _p$label;
|
|
75
|
+
// if (filterMethod) {
|
|
76
|
+
// const filterResult = filterMethod(p.label ?? p.value.toString(), searchText);
|
|
77
|
+
// return filterResult;
|
|
78
|
+
// } else {
|
|
79
|
+
// }
|
|
80
|
+
var regex = new RegExp(searchText, 'gi');
|
|
81
|
+
var res = null !== "".concat((_ref = (_p$label = p.label) !== null && _p$label !== void 0 ? _p$label : p.value) !== null && _ref !== void 0 ? _ref : '').match(regex);
|
|
82
|
+
return res;
|
|
80
83
|
} else {
|
|
81
84
|
return true;
|
|
82
85
|
}
|
|
83
|
-
}, [
|
|
86
|
+
}, [searchText]);
|
|
84
87
|
var scrollToSelected = useCallback(function () {
|
|
85
88
|
// const node = ulRef.current?.querySelectorAll('.selected');
|
|
86
89
|
// if (node && node.length > 0) {
|
|
@@ -138,7 +141,7 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
138
141
|
});
|
|
139
142
|
}
|
|
140
143
|
// 搜索
|
|
141
|
-
if (filterable && !remote && isNotEmpty(searchText)) {
|
|
144
|
+
if (filterable && !remote && isNotEmpty(searchText) && !filterMethod) {
|
|
142
145
|
var match = false;
|
|
143
146
|
return props.children ? /*#__PURE__*/React.createElement(React.Fragment, null, Children.toArray(props.children).map(function (item) {
|
|
144
147
|
var _nodeType;
|
|
@@ -161,6 +164,10 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
161
164
|
} else {
|
|
162
165
|
return null;
|
|
163
166
|
}
|
|
167
|
+
} else if (nodeType === 'ElTree') {
|
|
168
|
+
// filterAction(item.props);
|
|
169
|
+
match = true;
|
|
170
|
+
return item;
|
|
164
171
|
}
|
|
165
172
|
|
|
166
173
|
// if (filterAction(item.props)) {
|
|
@@ -179,7 +186,7 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
179
186
|
}, remote ? noMatchText : noDataText);
|
|
180
187
|
}
|
|
181
188
|
}
|
|
182
|
-
}, [filterable, allowCreate, searchText, remote, multiple, value, props.children, setInputValue, noMatchText, filterAction,
|
|
189
|
+
}, [filterable, allowCreate, searchText, remote, filterMethod, multiple, value, props.children, setInputValue, be, noMatchText, filterAction, noDataText]);
|
|
183
190
|
return /*#__PURE__*/React.createElement("div", {
|
|
184
191
|
className: classNames(b(_templateObject || (_templateObject = _taggedTemplateLiteral(["dorpdown"]))), is({
|
|
185
192
|
multiple: multiple
|
|
@@ -199,7 +206,8 @@ var SelectDropdown = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
199
206
|
onChoose: onChoose,
|
|
200
207
|
hover: hover,
|
|
201
208
|
setHover: setHover,
|
|
202
|
-
multiple: multiple
|
|
209
|
+
multiple: multiple,
|
|
210
|
+
cachedOptions: cachedOptions
|
|
203
211
|
}
|
|
204
212
|
}, /*#__PURE__*/React.createElement(Scrollbar, {
|
|
205
213
|
wrapClass: be('dropdown', 'wrap'),
|
package/dist/Select/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as Option } from './Option';
|
|
2
2
|
export { default as OptionGroup } from './OptionGroup';
|
|
3
3
|
export { default as Select } from './Select';
|
|
4
|
-
export type { SelectOptionGroupProps, SelectOptionProps, SelectProps, SelectRef } from './typings';
|
|
4
|
+
export type { OptionData, SelectOptionGroupProps, SelectOptionProps, SelectProps, SelectRef } from './typings';
|
package/dist/Select/typings.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export type SelectRef = {
|
|
|
10
10
|
setValue: (value: ValueType) => void;
|
|
11
11
|
onClear: (event?: any) => void;
|
|
12
12
|
setVisible: (value: boolean) => void;
|
|
13
|
+
cachedOptions: React.RefObject<Map<OptionValue, OptionData>>;
|
|
14
|
+
onChoose: <T = any>(val: string, data: OptionData<T>, event?: any) => ValueType;
|
|
13
15
|
};
|
|
14
16
|
type Child = React.ReactElement<SelectOptionGroupProps | SelectOptionProps> | React.ReactElement<SelectOptionGroupProps | SelectOptionProps>[];
|
|
15
17
|
export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>, 'onChange'>, BaseProps<Child | Child[]>, NativeProps, AnimationEventProps, PopperOptions {
|
|
@@ -28,7 +30,7 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
|
|
|
28
30
|
/** 是否可搜索 */
|
|
29
31
|
filterable?: boolean;
|
|
30
32
|
/** 自定义搜索方法 */
|
|
31
|
-
filterMethod?: (
|
|
33
|
+
filterMethod?: (searchText: string) => void;
|
|
32
34
|
/** 选项为空时显示的文字 */
|
|
33
35
|
noDataText?: string;
|
|
34
36
|
/** 搜索条件无匹配时显示的文字 */
|
|
@@ -85,7 +87,7 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
|
|
|
85
87
|
tagEffect?: 'light' | 'dark' | 'plain';
|
|
86
88
|
labelFormat?: (index: number, value: OptionValue, label?: OptionValue) => React.ReactElement;
|
|
87
89
|
/** 选中值发生变化时触发 */
|
|
88
|
-
onChange?: (value: ValueType, data?: OptionData | OptionData[]) => void;
|
|
90
|
+
onChange?: <T = any>(value: ValueType, data?: OptionData<T> | OptionData<T>[]) => void;
|
|
89
91
|
/** 下拉框出现/隐藏时触发 */
|
|
90
92
|
onVisibleChange?: (visible: boolean) => void;
|
|
91
93
|
/** 多选模式下移除tag时触发/隐藏时触发 */
|
|
@@ -99,11 +101,12 @@ export interface SelectProps<V = ValueType> extends Omit<FormControlBaseProps<V>
|
|
|
99
101
|
/** 下拉列表底部的内容 */
|
|
100
102
|
footer?: React.ReactElement;
|
|
101
103
|
/** 作为 Select 组件的内容时 */
|
|
102
|
-
tag?: (params: {
|
|
103
|
-
data: OptionData[];
|
|
104
|
+
tag?: <T = any>(params: {
|
|
105
|
+
data: OptionData<T>[];
|
|
104
106
|
selectDisabled: boolean;
|
|
105
|
-
deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData) => void;
|
|
107
|
+
deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData<T>) => void;
|
|
106
108
|
}) => React.ReactElement;
|
|
109
|
+
unmountOnExit?: boolean;
|
|
107
110
|
}
|
|
108
111
|
export interface SelectOptionProps extends BaseProps, NativeProps {
|
|
109
112
|
/** 选项的值 */
|
|
@@ -114,14 +117,14 @@ export interface SelectOptionProps extends BaseProps, NativeProps {
|
|
|
114
117
|
data?: any;
|
|
115
118
|
/** 是否禁用该选项 */
|
|
116
119
|
disabled?: boolean;
|
|
117
|
-
onClick?: (value: ValueType, data: OptionData) => void;
|
|
120
|
+
onClick?: <T = any>(value: ValueType, data: OptionData<T>) => void;
|
|
118
121
|
}
|
|
119
|
-
export interface OptionData {
|
|
122
|
+
export interface OptionData<T = any> {
|
|
120
123
|
index?: number;
|
|
121
124
|
value: OptionValue;
|
|
122
125
|
label: OptionValue;
|
|
123
126
|
disabled?: boolean;
|
|
124
|
-
data?:
|
|
127
|
+
data?: T;
|
|
125
128
|
}
|
|
126
129
|
export interface SelectOptionGroupProps extends BaseProps<React.ReactElement<SelectOptionProps> | React.ReactElement<SelectOptionProps>[]>, NativeProps {
|
|
127
130
|
/** 分组的组名 */
|
|
@@ -133,13 +136,14 @@ export interface SelectDropdownProps extends SelectProps {
|
|
|
133
136
|
value: ValueType;
|
|
134
137
|
inputValue: string;
|
|
135
138
|
setInputValue: (value: string) => void;
|
|
136
|
-
onChoose: (val: string, data: OptionData
|
|
139
|
+
onChoose: <T = any>(val: string, data: OptionData<T>, event: any) => void;
|
|
137
140
|
contentRef: RefObject<HTMLDivElement>;
|
|
138
141
|
popperInstRef: RefObject<PopperOptionRef>;
|
|
139
142
|
/** 下拉列表顶部的内容 */
|
|
140
143
|
header?: React.ReactElement;
|
|
141
144
|
/** 下拉列表底部的内容 */
|
|
142
145
|
footer?: React.ReactElement;
|
|
146
|
+
cachedOptions: React.RefObject<Map<OptionValue, OptionData>>;
|
|
143
147
|
}
|
|
144
148
|
export interface SelectDropdownRef {
|
|
145
149
|
clear: () => void;
|
|
@@ -34,7 +34,7 @@ declare const useSelect: (props: SelectProps) => {
|
|
|
34
34
|
clearable: boolean;
|
|
35
35
|
clearIcon: import("..").IconName;
|
|
36
36
|
multiple: boolean;
|
|
37
|
-
onChange: (value: ValueType, data?: OptionData | OptionData[]) => void;
|
|
37
|
+
onChange: <T = any>(value: ValueType, data?: OptionData<T> | OptionData<T>[]) => void;
|
|
38
38
|
allowCreate: boolean;
|
|
39
39
|
onEnter: (node?: HTMLElement | Text) => void;
|
|
40
40
|
afterLeave: (node?: HTMLElement | Text) => void;
|
|
@@ -47,10 +47,10 @@ declare const useSelect: (props: SelectProps) => {
|
|
|
47
47
|
setValue: (value: ValueType) => void;
|
|
48
48
|
disabled: boolean;
|
|
49
49
|
size: import("..").TypeAttributes.Size;
|
|
50
|
-
optionData: OptionData[];
|
|
50
|
+
optionData: OptionData<any>[];
|
|
51
51
|
multiValue: OptionValue[];
|
|
52
|
-
multiOptionData: OptionData[];
|
|
53
|
-
selected: OptionData | OptionData[];
|
|
52
|
+
multiOptionData: OptionData<any>[];
|
|
53
|
+
selected: OptionData<any> | OptionData<any>[];
|
|
54
54
|
label: string;
|
|
55
55
|
visible: boolean;
|
|
56
56
|
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
|
|
@@ -59,10 +59,10 @@ declare const useSelect: (props: SelectProps) => {
|
|
|
59
59
|
shouldShowPlaceholder: boolean;
|
|
60
60
|
handleEnter: (node: any) => void;
|
|
61
61
|
handleAfterLeave: (node?: any) => void;
|
|
62
|
-
toggleMenu: (event
|
|
62
|
+
toggleMenu: (event?: React.MouseEvent<HTMLSpanElement>) => void;
|
|
63
63
|
onCloseTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, item: OptionData) => void;
|
|
64
64
|
onClear: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
65
|
-
onChoose: (val: string, data: OptionData, event?: any) =>
|
|
65
|
+
onChoose: (val: string, data: OptionData, event?: any) => string | OptionValue[];
|
|
66
66
|
labelFormat: (index: number, value: OptionValue, label?: OptionValue) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
67
67
|
iconComponent: import("..").IconName;
|
|
68
68
|
iconReverse: string;
|
|
@@ -71,8 +71,9 @@ declare const useSelect: (props: SelectProps) => {
|
|
|
71
71
|
handleCompositionStart: (event: React.CompositionEvent<HTMLInputElement>) => void;
|
|
72
72
|
handleCompositionUpdate: (event: React.CompositionEvent<HTMLInputElement>) => void;
|
|
73
73
|
handleCompositionEnd: (event: React.CompositionEvent<HTMLInputElement>) => void;
|
|
74
|
+
cachedOptions: React.MutableRefObject<Map<OptionValue, OptionData<any>>>;
|
|
74
75
|
valueKey?: string;
|
|
75
|
-
filterMethod?: (
|
|
76
|
+
filterMethod?: (searchText: string) => void;
|
|
76
77
|
noDataText?: string;
|
|
77
78
|
noMatchText?: string;
|
|
78
79
|
loading?: boolean;
|
|
@@ -95,14 +96,16 @@ declare const useSelect: (props: SelectProps) => {
|
|
|
95
96
|
remoteMethod?: (searchText: string) => void;
|
|
96
97
|
tagType?: import("..").TypeAttributes.Appearance;
|
|
97
98
|
tagEffect?: "light" | "dark" | "plain";
|
|
99
|
+
/** 获取所有的option组件 */
|
|
98
100
|
automaticDropdown?: boolean;
|
|
99
101
|
header?: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
100
102
|
footer?: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
101
|
-
tag?: (params: {
|
|
102
|
-
data: OptionData[];
|
|
103
|
+
tag?: <T_1 = any>(params: {
|
|
104
|
+
data: OptionData<T_1>[];
|
|
103
105
|
selectDisabled: boolean;
|
|
104
|
-
deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData) => void;
|
|
106
|
+
deleteTag: (event: React.MouseEvent<HTMLElement, MouseEvent>, tag: OptionData<T_1>) => void;
|
|
105
107
|
}) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
108
|
+
unmountOnExit?: boolean;
|
|
106
109
|
name?: string;
|
|
107
110
|
readOnly?: boolean;
|
|
108
111
|
defaultValue?: ValueType;
|
package/dist/Select/useSelect.js
CHANGED
|
@@ -108,23 +108,21 @@ var useSelect = function useSelect(props) {
|
|
|
108
108
|
var size = useSize(props.size);
|
|
109
109
|
|
|
110
110
|
// 单选框显示文本
|
|
111
|
-
|
|
111
|
+
// const [selected, setSelected] = useState<OptionData | OptionData[]>(null);
|
|
112
|
+
|
|
113
|
+
var _useState = useState(false),
|
|
112
114
|
_useState2 = _slicedToArray(_useState, 2),
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
var _useState3 = useState(
|
|
115
|
+
visible = _useState2[0],
|
|
116
|
+
setVisible = _useState2[1];
|
|
117
|
+
var _useState3 = useState({}),
|
|
116
118
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var _useState5 = useState({}),
|
|
120
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
121
|
-
popperStyle = _useState6[0],
|
|
122
|
-
setPopperStyle = _useState6[1];
|
|
119
|
+
popperStyle = _useState4[0],
|
|
120
|
+
setPopperStyle = _useState4[1];
|
|
123
121
|
// 多选时input框高度
|
|
124
|
-
var
|
|
125
|
-
|
|
126
|
-
inputValue =
|
|
127
|
-
setInputValue =
|
|
122
|
+
var _useState5 = useState(''),
|
|
123
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
124
|
+
inputValue = _useState6[0],
|
|
125
|
+
setInputValue = _useState6[1];
|
|
128
126
|
var cachedOptions = useRef(new Map());
|
|
129
127
|
|
|
130
128
|
/** 获取所有的option组件 */
|
|
@@ -172,6 +170,15 @@ var useSelect = function useSelect(props) {
|
|
|
172
170
|
}
|
|
173
171
|
return [];
|
|
174
172
|
}, [multiValue, multiple, optionData]);
|
|
173
|
+
var selected = useMemo(function () {
|
|
174
|
+
if (multiple) {
|
|
175
|
+
return multiOptionData;
|
|
176
|
+
} else {
|
|
177
|
+
return [].concat(_toConsumableArray(optionData), _toConsumableArray(Array.from(cachedOptions.current.values()))).find(function (item) {
|
|
178
|
+
return item.value === value;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}, [multiple, multiOptionData, optionData, value]);
|
|
175
182
|
var label = useMemo(function () {
|
|
176
183
|
if (!multiple && selected && !Array.isArray(selected)) {
|
|
177
184
|
var _selected$label;
|
|
@@ -191,7 +198,7 @@ var useSelect = function useSelect(props) {
|
|
|
191
198
|
lng: locale
|
|
192
199
|
});
|
|
193
200
|
}
|
|
194
|
-
if (
|
|
201
|
+
if (props.placeholder) {
|
|
195
202
|
_placeholder = props.placeholder;
|
|
196
203
|
}
|
|
197
204
|
return multiple || isEmpty(label) ? _placeholder : label;
|
|
@@ -313,7 +320,7 @@ var useSelect = function useSelect(props) {
|
|
|
313
320
|
* @returns
|
|
314
321
|
*/
|
|
315
322
|
var toggleMenu = useCallback(function (event) {
|
|
316
|
-
event.preventDefault();
|
|
323
|
+
event === null || event === void 0 || event.preventDefault();
|
|
317
324
|
event === null || event === void 0 || event.stopPropagation();
|
|
318
325
|
if (disabled) {
|
|
319
326
|
setVisible(false);
|
|
@@ -347,7 +354,7 @@ var useSelect = function useSelect(props) {
|
|
|
347
354
|
event.stopPropagation();
|
|
348
355
|
event.preventDefault();
|
|
349
356
|
setValue(multiple ? [] : '');
|
|
350
|
-
setSelected(null);
|
|
357
|
+
// setSelected(null);
|
|
351
358
|
(_selectDropdownRef$cu3 = selectDropdownRef.current) === null || _selectDropdownRef$cu3 === void 0 || _selectDropdownRef$cu3.hover('');
|
|
352
359
|
onChange === null || onChange === void 0 || onChange(multiple ? [] : '');
|
|
353
360
|
onClearProp === null || onClearProp === void 0 || onClearProp();
|
|
@@ -358,7 +365,7 @@ var useSelect = function useSelect(props) {
|
|
|
358
365
|
|
|
359
366
|
/** 选中项回调 */
|
|
360
367
|
var onChoose = useCallback(function (val, data, event) {
|
|
361
|
-
event.preventDefault();
|
|
368
|
+
event === null || event === void 0 || event.preventDefault();
|
|
362
369
|
if (isNotEmpty(val)) {
|
|
363
370
|
var result = val;
|
|
364
371
|
var multiData = [];
|
|
@@ -374,9 +381,10 @@ var useSelect = function useSelect(props) {
|
|
|
374
381
|
result = [].concat(_toConsumableArray(multiValue), [val]);
|
|
375
382
|
multiData = [].concat(_toConsumableArray(multiOptionData), [data]);
|
|
376
383
|
}
|
|
377
|
-
setSelected(multiData);
|
|
384
|
+
// setSelected(multiData);
|
|
378
385
|
} else {
|
|
379
|
-
|
|
386
|
+
setInputValue('');
|
|
387
|
+
// setSelected(data);
|
|
380
388
|
}
|
|
381
389
|
if (allowCreate && isNotEmpty(inputValue)) {
|
|
382
390
|
var _inputRef$current;
|
|
@@ -395,6 +403,7 @@ var useSelect = function useSelect(props) {
|
|
|
395
403
|
setValue(result);
|
|
396
404
|
onChange === null || onChange === void 0 || onChange(result, multiple ? multiData : data);
|
|
397
405
|
!multiple && toggleMenu(event);
|
|
406
|
+
return result;
|
|
398
407
|
} else {
|
|
399
408
|
setVisible(false);
|
|
400
409
|
}
|
|
@@ -439,19 +448,17 @@ var useSelect = function useSelect(props) {
|
|
|
439
448
|
return;
|
|
440
449
|
}
|
|
441
450
|
if (multiple && Array.isArray(value)) {
|
|
442
|
-
setSelected(multiOptionData.filter(
|
|
443
|
-
return value.includes(item.value);
|
|
444
|
-
}));
|
|
451
|
+
// setSelected(multiOptionData.filter(item => value.includes(item.value)));
|
|
445
452
|
initedRef.current = true;
|
|
446
453
|
} else {
|
|
447
454
|
if (isNotEmpty(value)) {
|
|
448
455
|
var data = optionData.find(function (item) {
|
|
449
456
|
return item.value === value;
|
|
450
457
|
});
|
|
451
|
-
setSelected(data);
|
|
458
|
+
// setSelected(data);
|
|
452
459
|
initedRef.current = true;
|
|
453
460
|
} else {
|
|
454
|
-
setSelected(null);
|
|
461
|
+
// setSelected(null);
|
|
455
462
|
initedRef.current = true;
|
|
456
463
|
}
|
|
457
464
|
}
|
|
@@ -510,7 +517,8 @@ var useSelect = function useSelect(props) {
|
|
|
510
517
|
remote: remote,
|
|
511
518
|
handleCompositionStart: handleCompositionStart,
|
|
512
519
|
handleCompositionUpdate: handleCompositionUpdate,
|
|
513
|
-
handleCompositionEnd: handleCompositionEnd
|
|
520
|
+
handleCompositionEnd: handleCompositionEnd,
|
|
521
|
+
cachedOptions: cachedOptions
|
|
514
522
|
});
|
|
515
523
|
};
|
|
516
524
|
export default useSelect;
|