@rc-component/tree-select 1.2.0 → 1.2.2
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/es/TreeSelect.js +21 -10
- package/es/hooks/useSearchConfig.d.ts +4 -2
- package/lib/TreeSelect.js +21 -10
- package/lib/hooks/useSearchConfig.d.ts +4 -2
- package/package.json +2 -2
package/es/TreeSelect.js
CHANGED
|
@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2
2
|
import { BaseSelect } from '@rc-component/select';
|
|
3
3
|
import useId from "@rc-component/util/es/hooks/useId";
|
|
4
4
|
import { conductCheck } from "@rc-component/tree/es/utils/conductUtil";
|
|
5
|
-
import
|
|
5
|
+
import useControlledState from "@rc-component/util/es/hooks/useControlledState";
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import useCache from "./hooks/useCache";
|
|
8
8
|
import useCheckedKeys from "./hooks/useCheckedKeys";
|
|
@@ -34,6 +34,12 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
34
34
|
onDeselect,
|
|
35
35
|
// Search
|
|
36
36
|
showSearch,
|
|
37
|
+
searchValue: legacySearchValue,
|
|
38
|
+
inputValue: legacyinputValue,
|
|
39
|
+
onSearch: legacyOnSearch,
|
|
40
|
+
autoClearSearchValue: legacyAutoClearSearchValue,
|
|
41
|
+
filterTreeNode: legacyFilterTreeNode,
|
|
42
|
+
treeNodeFilterProp: legacytreeNodeFilterProp,
|
|
37
43
|
// Selector
|
|
38
44
|
showCheckedStrategy,
|
|
39
45
|
treeNodeLabelProp,
|
|
@@ -82,7 +88,15 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
82
88
|
const mergedCheckable = treeCheckable || treeCheckStrictly;
|
|
83
89
|
const mergedLabelInValue = treeCheckStrictly || labelInValue;
|
|
84
90
|
const mergedMultiple = mergedCheckable || multiple;
|
|
85
|
-
const
|
|
91
|
+
const searchProps = {
|
|
92
|
+
searchValue: legacySearchValue,
|
|
93
|
+
inputValue: legacyinputValue,
|
|
94
|
+
onSearch: legacyOnSearch,
|
|
95
|
+
autoClearSearchValue: legacyAutoClearSearchValue,
|
|
96
|
+
filterTreeNode: legacyFilterTreeNode,
|
|
97
|
+
treeNodeFilterProp: legacytreeNodeFilterProp
|
|
98
|
+
};
|
|
99
|
+
const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch, searchProps);
|
|
86
100
|
const {
|
|
87
101
|
searchValue,
|
|
88
102
|
onSearch,
|
|
@@ -90,9 +104,7 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
90
104
|
filterTreeNode,
|
|
91
105
|
treeNodeFilterProp = 'value'
|
|
92
106
|
} = searchConfig;
|
|
93
|
-
const [internalValue, setInternalValue] =
|
|
94
|
-
value
|
|
95
|
-
});
|
|
107
|
+
const [internalValue, setInternalValue] = useControlledState(defaultValue, value);
|
|
96
108
|
|
|
97
109
|
// `multiple` && `!treeCheckable` should be show all
|
|
98
110
|
const mergedShowCheckedStrategy = React.useMemo(() => {
|
|
@@ -113,10 +125,8 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
113
125
|
/* eslint-enable react-hooks/exhaustive-deps */);
|
|
114
126
|
|
|
115
127
|
// =========================== Search ===========================
|
|
116
|
-
const [
|
|
117
|
-
|
|
118
|
-
postState: search => search || ''
|
|
119
|
-
});
|
|
128
|
+
const [internalSearchValue, setSearchValue] = useControlledState('', searchValue);
|
|
129
|
+
const mergedSearchValue = internalSearchValue || '';
|
|
120
130
|
const onInternalSearch = searchText => {
|
|
121
131
|
setSearchValue(searchText);
|
|
122
132
|
onSearch?.(searchText);
|
|
@@ -502,7 +512,8 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
502
512
|
displayValues: cachedDisplayValues,
|
|
503
513
|
onDisplayValuesChange: onDisplayValuesChange
|
|
504
514
|
// >>> Search
|
|
505
|
-
|
|
515
|
+
,
|
|
516
|
+
autoClearSearchValue: autoClearSearchValue,
|
|
506
517
|
showSearch: mergedShowSearch,
|
|
507
518
|
searchValue: mergedSearchValue,
|
|
508
519
|
onSearch: onInternalSearch
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import type { SearchConfig
|
|
2
|
-
export default function useSearchConfig(showSearch: boolean | SearchConfig, props:
|
|
1
|
+
import type { SearchConfig } from "../TreeSelect";
|
|
2
|
+
export default function useSearchConfig(showSearch: boolean | SearchConfig, props: SearchConfig & {
|
|
3
|
+
inputValue: string;
|
|
4
|
+
}): [boolean, SearchConfig];
|
package/lib/TreeSelect.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _select = require("@rc-component/select");
|
|
8
8
|
var _useId = _interopRequireDefault(require("@rc-component/util/lib/hooks/useId"));
|
|
9
9
|
var _conductUtil = require("@rc-component/tree/lib/utils/conductUtil");
|
|
10
|
-
var
|
|
10
|
+
var _useControlledState = _interopRequireDefault(require("@rc-component/util/lib/hooks/useControlledState"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _useCache = _interopRequireDefault(require("./hooks/useCache"));
|
|
13
13
|
var _useCheckedKeys = _interopRequireDefault(require("./hooks/useCheckedKeys"));
|
|
@@ -43,6 +43,12 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
43
43
|
onDeselect,
|
|
44
44
|
// Search
|
|
45
45
|
showSearch,
|
|
46
|
+
searchValue: legacySearchValue,
|
|
47
|
+
inputValue: legacyinputValue,
|
|
48
|
+
onSearch: legacyOnSearch,
|
|
49
|
+
autoClearSearchValue: legacyAutoClearSearchValue,
|
|
50
|
+
filterTreeNode: legacyFilterTreeNode,
|
|
51
|
+
treeNodeFilterProp: legacytreeNodeFilterProp,
|
|
46
52
|
// Selector
|
|
47
53
|
showCheckedStrategy,
|
|
48
54
|
treeNodeLabelProp,
|
|
@@ -91,7 +97,15 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
91
97
|
const mergedCheckable = treeCheckable || treeCheckStrictly;
|
|
92
98
|
const mergedLabelInValue = treeCheckStrictly || labelInValue;
|
|
93
99
|
const mergedMultiple = mergedCheckable || multiple;
|
|
94
|
-
const
|
|
100
|
+
const searchProps = {
|
|
101
|
+
searchValue: legacySearchValue,
|
|
102
|
+
inputValue: legacyinputValue,
|
|
103
|
+
onSearch: legacyOnSearch,
|
|
104
|
+
autoClearSearchValue: legacyAutoClearSearchValue,
|
|
105
|
+
filterTreeNode: legacyFilterTreeNode,
|
|
106
|
+
treeNodeFilterProp: legacytreeNodeFilterProp
|
|
107
|
+
};
|
|
108
|
+
const [mergedShowSearch, searchConfig] = (0, _useSearchConfig.default)(showSearch, searchProps);
|
|
95
109
|
const {
|
|
96
110
|
searchValue,
|
|
97
111
|
onSearch,
|
|
@@ -99,9 +113,7 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
99
113
|
filterTreeNode,
|
|
100
114
|
treeNodeFilterProp = 'value'
|
|
101
115
|
} = searchConfig;
|
|
102
|
-
const [internalValue, setInternalValue] = (0,
|
|
103
|
-
value
|
|
104
|
-
});
|
|
116
|
+
const [internalValue, setInternalValue] = (0, _useControlledState.default)(defaultValue, value);
|
|
105
117
|
|
|
106
118
|
// `multiple` && `!treeCheckable` should be show all
|
|
107
119
|
const mergedShowCheckedStrategy = React.useMemo(() => {
|
|
@@ -122,10 +134,8 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
122
134
|
/* eslint-enable react-hooks/exhaustive-deps */);
|
|
123
135
|
|
|
124
136
|
// =========================== Search ===========================
|
|
125
|
-
const [
|
|
126
|
-
|
|
127
|
-
postState: search => search || ''
|
|
128
|
-
});
|
|
137
|
+
const [internalSearchValue, setSearchValue] = (0, _useControlledState.default)('', searchValue);
|
|
138
|
+
const mergedSearchValue = internalSearchValue || '';
|
|
129
139
|
const onInternalSearch = searchText => {
|
|
130
140
|
setSearchValue(searchText);
|
|
131
141
|
onSearch?.(searchText);
|
|
@@ -511,7 +521,8 @@ const TreeSelect = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
511
521
|
displayValues: cachedDisplayValues,
|
|
512
522
|
onDisplayValuesChange: onDisplayValuesChange
|
|
513
523
|
// >>> Search
|
|
514
|
-
|
|
524
|
+
,
|
|
525
|
+
autoClearSearchValue: autoClearSearchValue,
|
|
515
526
|
showSearch: mergedShowSearch,
|
|
516
527
|
searchValue: mergedSearchValue,
|
|
517
528
|
onSearch: onInternalSearch
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import type { SearchConfig
|
|
2
|
-
export default function useSearchConfig(showSearch: boolean | SearchConfig, props:
|
|
1
|
+
import type { SearchConfig } from "../TreeSelect";
|
|
2
|
+
export default function useSearchConfig(showSearch: boolean | SearchConfig, props: SearchConfig & {
|
|
3
|
+
inputValue: string;
|
|
4
|
+
}): [boolean, SearchConfig];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rc-component/tree-select",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "tree-select ui component for react",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"classnames": "2.x",
|
|
48
48
|
"@rc-component/select": "~1.1.0",
|
|
49
49
|
"@rc-component/tree": "~1.0.1",
|
|
50
|
-
"@rc-component/util": "^1.
|
|
50
|
+
"@rc-component/util": "^1.3.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@rc-component/father-plugin": "^2.0.2",
|