@hi-ui/check-select 4.0.0-alpha.33 → 4.0.0-alpha.37
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/README.md +21 -20
- package/lib/cjs/CheckSelect.js +34 -36
- package/lib/cjs/CheckSelect.js.map +1 -1
- package/lib/cjs/hooks/use-data.js +104 -0
- package/lib/cjs/hooks/use-data.js.map +1 -0
- package/lib/cjs/hooks/use-flatten-data.js +78 -0
- package/lib/cjs/hooks/use-flatten-data.js.map +1 -0
- package/lib/cjs/use-check-select.js +35 -130
- package/lib/cjs/use-check-select.js.map +1 -1
- package/lib/esm/CheckSelect.js +32 -36
- package/lib/esm/CheckSelect.js.map +1 -1
- package/lib/esm/hooks/use-data.js +94 -0
- package/lib/esm/hooks/use-data.js.map +1 -0
- package/lib/esm/hooks/use-flatten-data.js +69 -0
- package/lib/esm/hooks/use-flatten-data.js.map +1 -0
- package/lib/esm/use-check-select.js +36 -124
- package/lib/esm/use-check-select.js.map +1 -1
- package/lib/types/context.d.ts +2 -10
- package/lib/types/hooks/index.d.ts +2 -0
- package/lib/types/hooks/use-data.d.ts +4 -0
- package/lib/types/hooks/use-flatten-data.d.ts +2 -0
- package/lib/types/hooks/use-search.d.ts +2 -2
- package/lib/types/types.d.ts +2 -2
- package/lib/types/use-check-select.d.ts +5 -33
- package/package.json +20 -20
@@ -8,15 +8,17 @@
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
10
|
import { __rest } from 'tslib';
|
11
|
-
import
|
11
|
+
import { useRef, useCallback } from 'react';
|
12
12
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
13
|
+
import { uniqBy } from 'lodash';
|
13
14
|
import { useCheck } from '@hi-ui/use-check';
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
15
|
+
import { useLatestRef, useLatestCallback } from '@hi-ui/use-latest';
|
16
|
+
import { useData } from './hooks/use-data.js';
|
17
|
+
import { useFlattenData } from './hooks/use-flatten-data.js';
|
18
|
+
import '@hi-ui/env';
|
19
|
+
import '@hi-ui/type-assertion';
|
17
20
|
var NOOP_ARRAY = [];
|
18
21
|
var NOOP_VALUE = [];
|
19
|
-
var DEFAULT_FIELD_NAMES = {};
|
20
22
|
|
21
23
|
var useCheckSelect = function useCheckSelect(_a) {
|
22
24
|
var _a$data = _a.data,
|
@@ -29,127 +31,51 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
29
31
|
defaultValue = _a$defaultValue === void 0 ? NOOP_VALUE : _a$defaultValue,
|
30
32
|
onChangeProp = _a.onChange,
|
31
33
|
onSelect = _a.onSelect,
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
list.forEach(function (item) {
|
45
|
-
if (! /*#__PURE__*/React.isValidElement(item)) return; // @ts-ignore
|
46
|
-
|
47
|
-
if (item.type.HiName === 'CheckSelectOption') {
|
48
|
-
var props = item.props;
|
49
|
-
|
50
|
-
var _value = props.value,
|
51
|
-
_children = props.children,
|
52
|
-
_disabled = props.disabled,
|
53
|
-
_rest = __rest(props, ["value", "children", "disabled", "groupTitle"]);
|
54
|
-
|
55
|
-
var option = {
|
56
|
-
id: _value,
|
57
|
-
title: _children,
|
58
|
-
disabled: _disabled,
|
59
|
-
rootProps: _rest
|
60
|
-
};
|
61
|
-
arr.push(option); // @ts-ignore
|
62
|
-
} else if (item.type.HiName === 'CheckSelectOptionGroup') {
|
63
|
-
var _props = item.props;
|
64
|
-
|
65
|
-
var groupId = _props.groupId,
|
66
|
-
label = _props.label,
|
67
|
-
_children2 = _props.children,
|
68
|
-
_rest2 = __rest(_props, ["groupId", "label", "children"]);
|
69
|
-
|
70
|
-
var optGroup = {
|
71
|
-
groupId: groupId,
|
72
|
-
groupTitle: label,
|
73
|
-
children: [],
|
74
|
-
rootProps: _rest2
|
75
|
-
}; // @ts-ignore
|
76
|
-
|
77
|
-
if (_children2) {
|
78
|
-
// @ts-ignore
|
79
|
-
optGroup.children = dfs(_children2);
|
80
|
-
}
|
81
|
-
|
82
|
-
arr.push(optGroup);
|
83
|
-
}
|
84
|
-
});
|
85
|
-
return arr;
|
86
|
-
};
|
87
|
-
|
88
|
-
return dfs(children);
|
89
|
-
}
|
90
|
-
|
91
|
-
return dataProp;
|
92
|
-
}, [children, dataProp]);
|
93
|
-
/**
|
94
|
-
* 转换对象
|
95
|
-
*/
|
96
|
-
|
97
|
-
var getKeyFields = useCallback(function (node, key) {
|
98
|
-
return node[fieldNames[key] || key];
|
99
|
-
}, [fieldNames]);
|
100
|
-
var flattedData = useMemo(function () {
|
101
|
-
// @ts-ignore
|
102
|
-
return flattenTree(data, function (node) {
|
103
|
-
var _a;
|
104
|
-
|
105
|
-
if ('groupId' in node.raw) {
|
106
|
-
// @ts-ignore
|
107
|
-
node.id = node.raw.groupId; // @ts-ignore
|
108
|
-
|
109
|
-
node.groupTitle = node.raw.groupTitle; // @ts-ignore
|
110
|
-
|
111
|
-
node.groupId = node.raw.groupId;
|
112
|
-
} else {
|
113
|
-
// TODO:support children field map
|
114
|
-
node.id = getKeyFields(node.raw, 'id'); // @ts-ignore
|
115
|
-
|
116
|
-
node.title = getKeyFields(node.raw, 'title'); // @ts-ignore
|
117
|
-
|
118
|
-
node.disabled = (_a = getKeyFields(node.raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
119
|
-
}
|
120
|
-
|
121
|
-
return node;
|
122
|
-
});
|
123
|
-
}, [data, getKeyFields]);
|
34
|
+
fieldNames = _a.fieldNames,
|
35
|
+
rest = __rest(_a, ["data", "children", "disabled", "value", "defaultValue", "onChange", "onSelect", "fieldNames"]);
|
36
|
+
|
37
|
+
var data = useData({
|
38
|
+
data: dataProp,
|
39
|
+
children: children
|
40
|
+
});
|
41
|
+
var flattedData = useFlattenData({
|
42
|
+
data: data,
|
43
|
+
fieldNames: fieldNames
|
44
|
+
});
|
45
|
+
var flattedDataRef = useLatestRef(flattedData);
|
124
46
|
|
125
47
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
126
48
|
value = _useUncontrolledState[0],
|
127
49
|
tryChangeValue = _useUncontrolledState[1];
|
128
50
|
|
129
51
|
var onSelectLatest = useLatestCallback(onSelect);
|
130
|
-
var
|
52
|
+
var selectedItemsRef = useRef([]);
|
131
53
|
var proxyTryChangeValue = useCallback(function (value, item, shouldChecked) {
|
132
|
-
// 调用用户的select
|
133
|
-
var checkedItems = flattedDataRef.current // 使用最新的value
|
134
|
-
.filter(function (item) {
|
135
|
-
return value.includes(item.id);
|
136
|
-
}).map(function (item) {
|
137
|
-
return item.raw;
|
138
|
-
});
|
139
54
|
var changedItems = item;
|
140
55
|
|
141
56
|
if (!Array.isArray(item)) {
|
142
57
|
changedItems = [item];
|
58
|
+
|
59
|
+
if (shouldChecked) {
|
60
|
+
selectedItemsRef.current.push(item);
|
61
|
+
}
|
62
|
+
|
143
63
|
onSelectLatest(value, item, shouldChecked);
|
144
64
|
}
|
145
65
|
|
66
|
+
var selectedItems = uniqBy([].concat(changedItems, selectedItemsRef.current, flattedDataRef.current), 'id'); // 调用用户的select
|
67
|
+
|
68
|
+
var checkedItems = selectedItems // 使用最新的value
|
69
|
+
.filter(function (item) {
|
70
|
+
return value.includes(item.id);
|
71
|
+
}).map(function (item) {
|
72
|
+
return 'raw' in item ? item.raw : item;
|
73
|
+
});
|
146
74
|
tryChangeValue(value, // TODO: 处理脏数据
|
147
75
|
changedItems.map(function (item) {
|
148
76
|
return 'raw' in item ? item.raw : item;
|
149
77
|
}), checkedItems);
|
150
|
-
},
|
151
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
152
|
-
[tryChangeValue, onSelectLatest, flattedDataRef]);
|
78
|
+
}, [tryChangeValue, onSelectLatest, flattedDataRef, selectedItemsRef]);
|
153
79
|
|
154
80
|
var _useCheckDefault = useCheck({
|
155
81
|
disabled: disabled,
|
@@ -158,30 +84,16 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
158
84
|
allowCheck: allowCheck
|
159
85
|
}),
|
160
86
|
onOptionCheck = _useCheckDefault[0],
|
161
|
-
isCheckedId = _useCheckDefault[1];
|
162
|
-
// const getSearchInputProps = useCallback(
|
163
|
-
// () => ({
|
164
|
-
// placeholder: searchPlaceholder,
|
165
|
-
// value: inputProps.value,
|
166
|
-
// onChange: inputProps.onChange,
|
167
|
-
// }),
|
168
|
-
// [searchPlaceholder, inputProps]
|
169
|
-
// )
|
170
|
-
|
87
|
+
isCheckedId = _useCheckDefault[1];
|
171
88
|
|
172
89
|
return {
|
173
90
|
rootProps: rest,
|
174
|
-
// data: inSearch ? matchedItems : data,
|
175
91
|
data: data,
|
176
92
|
flattedData: flattedData,
|
177
93
|
value: value,
|
178
94
|
tryChangeValue: proxyTryChangeValue,
|
179
95
|
onSelect: onOptionCheck,
|
180
|
-
isCheckedId: isCheckedId
|
181
|
-
emptyContent: emptyContent // getSearchInputProps,
|
182
|
-
// isEmpty,
|
183
|
-
// resetSearch,
|
184
|
-
|
96
|
+
isCheckedId: isCheckedId
|
185
97
|
};
|
186
98
|
};
|
187
99
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-check-select.js","sources":["../../src/use-check-select.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","
|
1
|
+
{"version":3,"file":"use-check-select.js","sources":["../../src/use-check-select.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCheckSelect","_a","data","dataProp","children","disabled","valueProp","value","defaultValue","onChangeProp","onChange","onSelect","fieldNames","rest","useData","flattedData","useFlattenData","flattedDataRef","useLatestRef","useUncontrolledState","tryChangeValue","onSelectLatest","useLatestCallback","selectedItemsRef","useRef","proxyTryChangeValue","useCallback","item","shouldChecked","changedItems","Array","isArray","current","push","selectedItems","uniqBy","checkedItems","filter","includes","id","map","raw","useCheckDefault","checkedIds","onCheck","allowCheck","onOptionCheck","isCheckedId","rootProps","option"],"mappings":";;;;;;;;;;;;;;;;;;;AASA,IAAMA,UAAU,GAAG,EAAnB;AACA,IAAMC,UAAU,GAAG,EAAnB;;IAEaC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD;mBAC5BC;MAAMC,gCAAWL;MACjBM,cAAAA;uBACAC;MAAAA,oCAAW;MACJC,eAAPC;2BACAC;MAAAA,4CAAeT;MACLU,kBAAVC;MACAC,cAAAA;MACAC,gBAAAA;MACGC,kBAT0B,OAAA,YAAA,YAAA,SAAA,gBAAA,YAAA,YAAA,cAAA;;MAWvBX,IAAI,GAAGY,OAAO,CAAC;AAAEZ,IAAAA,IAAI,EAAEC,QAAR;AAAkBC,IAAAA,QAAQ,EAARA;AAAlB,GAAD;MACdW,WAAW,GAAGC,cAAc,CAAC;AAAEd,IAAAA,IAAI,EAAJA,IAAF;AAAQU,IAAAA,UAAU,EAAVA;AAAR,GAAD;MAC5BK,cAAc,GAAGC,YAAY,CAACH,WAAD;;8BAEHI,oBAAoB,CAACX,YAAD,EAAeF,SAAf,EAA0BG,YAA1B;MAA7CF,KAAP;MAAca,cAAd;;MAEMC,cAAc,GAAGC,iBAAiB,CAACX,QAAD;MAElCY,gBAAgB,GAAGC,MAAM,CAAQ,EAAR;MAEzBC,mBAAmB,GAAGC,WAAW,CACrC,UACEnB,KADF,EAEEoB,IAFF,EAGEC,aAHF;QAKMC,YAAY,GAAGF;;QAEf,CAACG,KAAK,CAACC,OAAND,CAAcH,IAAdG,GAAqB;AACxBD,MAAAA,YAAY,GAAG,CAACF,IAAD,CAAfE;;UAEID,eAAe;AACjBL,QAAAA,gBAAgB,CAACS,OAAjBT,CAAyBU,IAAzBV,CAA8BI,IAA9BJ;;;AAEFF,MAAAA,cAAc,CAACd,KAAD,EAAQoB,IAAR,EAAcC,aAAd,CAAdP;;;QAGIa,aAAa,GAAGC,MAAM,WACtBN,cAAiBN,gBAAgB,CAACS,SAAYf,cAAc,CAACe,QADvC,EAE1B,IAF0B;;QAMtBI,YAAY,GAAGF,aAAa;AAAA,KAE/BG,MAFkBH,CAEX,UAACP,IAAD;aAAUpB,KAAK,CAAC+B,QAAN/B,CAAeoB,IAAI,CAACY,EAApBhC;AAFC,KAAA2B,EAGlBM,GAHkBN,CAGd,UAACP,IAAD;aAAW,SAASA,IAAT,GAAgBA,IAAI,CAACc,GAArB,GAA2Bd;AAHxB,KAAAO;AAKrBd,IAAAA,cAAc,CACZb,KADY;AAGZsB,IAAAA,YAAY,CAACW,GAAbX,CAAiB,UAACF,IAAD;aAAW,SAASA,IAAT,GAAgBA,IAAI,CAACc,GAArB,GAA2Bd;AAAvD,KAAAE,CAHY,EAIZO,YAJY,CAAdhB;AA5BmC,GAAA,EAmCrC,CAACA,cAAD,EAAiBC,cAAjB,EAAiCJ,cAAjC,EAAiDM,gBAAjD,CAnCqC;;yBAsCFmB,QAAe,CAAC;AACnDrC,IAAAA,QAAQ,EAARA,QADmD;AAEnDsC,IAAAA,UAAU,EAAEpC,KAFuC;AAGnDqC,IAAAA,OAAO,EAAEnB,mBAH0C;AAInDoB,IAAAA,UAAU,EAAVA;AAJmD,GAAD;MAA7CC,aAAP;MAAsBC,WAAtB;;SAOO;AACLC,IAAAA,SAAS,EAAEnC,IADN;AAELX,IAAAA,IAAI,EAAJA,IAFK;AAGLa,IAAAA,WAAW,EAAXA,WAHK;AAILR,IAAAA,KAAK,EAALA,KAJK;AAKLa,IAAAA,cAAc,EAAEK,mBALX;AAMLd,IAAAA,QAAQ,EAAEmC,aANL;AAOLC,IAAAA,WAAW,EAAXA;AAPK;;;AA4DT,IAAMF,UAAU,GAAG,SAAbA,UAAa,CAACI,MAAD;SAAiB,CAACA,MAAM,CAAC5C;AAA5C,CAAA;;"}
|
package/lib/types/context.d.ts
CHANGED
@@ -1,27 +1,19 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
export declare const CheckSelectProvider: import("react").Provider<Omit<{
|
3
|
-
rootProps: {
|
4
|
-
displayRender?: ((option: import("./types").CheckSelectEventData) => import("react").ReactNode) | undefined;
|
5
|
-
placeholder?: string | undefined;
|
6
|
-
};
|
3
|
+
rootProps: {};
|
7
4
|
data: any[];
|
8
5
|
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
9
6
|
value: import("react").ReactText[];
|
10
7
|
tryChangeValue: (value: import("react").ReactText[], item: import("./types").CheckSelectEventData | import("./types").CheckSelectEventData[], shouldChecked: boolean) => void;
|
11
8
|
onSelect: (targetItem: import("packages/hooks/use-check/lib/types").UseCheckItem, shouldChecked: boolean) => void;
|
12
9
|
isCheckedId: (id: import("react").ReactText) => boolean;
|
13
|
-
emptyContent: boolean | import("react").ReactChild | import("react").ReactFragment | import("react").ReactPortal | null;
|
14
10
|
}, "rootProps"> | null>;
|
15
11
|
export declare const useCheckSelectContext: () => Omit<{
|
16
|
-
rootProps: {
|
17
|
-
displayRender?: ((option: import("./types").CheckSelectEventData) => import("react").ReactNode) | undefined;
|
18
|
-
placeholder?: string | undefined;
|
19
|
-
};
|
12
|
+
rootProps: {};
|
20
13
|
data: any[];
|
21
14
|
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
22
15
|
value: import("react").ReactText[];
|
23
16
|
tryChangeValue: (value: import("react").ReactText[], item: import("./types").CheckSelectEventData | import("./types").CheckSelectEventData[], shouldChecked: boolean) => void;
|
24
17
|
onSelect: (targetItem: import("packages/hooks/use-check/lib/types").UseCheckItem, shouldChecked: boolean) => void;
|
25
18
|
isCheckedId: (id: import("react").ReactText) => boolean;
|
26
|
-
emptyContent: boolean | import("react").ReactChild | import("react").ReactFragment | import("react").ReactPortal | null;
|
27
19
|
}, "rootProps">;
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export declare const useFlattenData: ({ data, fieldNames }: any) => import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
2
|
+
export declare const flattenData: ({ data, fieldNames }: any) => import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
2
|
+
import { CheckSelectMergedItem } from '../types';
|
3
3
|
/**
|
4
4
|
* 支持搜索功能的 hook
|
5
5
|
*/
|
6
|
-
export declare const useSearch: (flattedData:
|
6
|
+
export declare const useSearch: (flattedData: CheckSelectMergedItem[], filter?: ((keyword: string, option: CheckSelectMergedItem) => boolean) | undefined) => readonly [boolean, CheckSelectMergedItem[], {
|
7
7
|
value: string;
|
8
8
|
onChange: (evt: React.ChangeEvent<HTMLInputElement>) => void;
|
9
9
|
}, boolean, () => void];
|
package/lib/types/types.d.ts
CHANGED
@@ -13,7 +13,7 @@ export interface CheckSelectDataItem {
|
|
13
13
|
*/
|
14
14
|
disabled?: boolean;
|
15
15
|
}
|
16
|
-
export interface
|
16
|
+
export interface CheckSelectGroupDataItem {
|
17
17
|
/**
|
18
18
|
* 节点组标题
|
19
19
|
*/
|
@@ -23,7 +23,7 @@ export interface CheckSelectDataGroupItem {
|
|
23
23
|
*/
|
24
24
|
children?: CheckSelectDataItem[];
|
25
25
|
}
|
26
|
-
export declare type
|
26
|
+
export declare type CheckSelectMergedItem = CheckSelectDataItem & CheckSelectGroupDataItem;
|
27
27
|
export interface CheckSelectRequiredProps {
|
28
28
|
checked: boolean;
|
29
29
|
focused: boolean;
|
@@ -1,23 +1,14 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { CheckSelectDataItem, CheckSelectEventData } from './types';
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
7
|
-
*/
|
8
|
-
displayRender?: ((option: CheckSelectEventData) => React.ReactNode) | undefined;
|
9
|
-
/**
|
10
|
-
* 触发器输入框占位符
|
11
|
-
*/
|
12
|
-
placeholder?: string | undefined;
|
13
|
-
};
|
3
|
+
import { HiBaseFieldNames } from '@hi-ui/core';
|
4
|
+
export declare const useCheckSelect: ({ data: dataProp, children, disabled, value: valueProp, defaultValue, onChange: onChangeProp, onSelect, fieldNames, ...rest }: UseCheckSelectProps) => {
|
5
|
+
rootProps: {};
|
14
6
|
data: any[];
|
15
7
|
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
16
8
|
value: React.ReactText[];
|
17
9
|
tryChangeValue: (value: React.ReactText[], item: CheckSelectEventData | CheckSelectEventData[], shouldChecked: boolean) => void;
|
18
10
|
onSelect: (targetItem: import("@hi-ui/use-check").UseCheckItem, shouldChecked: boolean) => void;
|
19
11
|
isCheckedId: (id: React.ReactText) => boolean;
|
20
|
-
emptyContent: boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null;
|
21
12
|
};
|
22
13
|
export interface UseCheckSelectProps {
|
23
14
|
/**
|
@@ -37,32 +28,13 @@ export interface UseCheckSelectProps {
|
|
37
28
|
onChange?: (value: React.ReactText[], changedItems?: CheckSelectDataItem[], checkedItems?: CheckSelectDataItem[]) => void;
|
38
29
|
/**
|
39
30
|
* 选中值时回调
|
31
|
+
* @private
|
40
32
|
*/
|
41
33
|
onSelect?: (value: React.ReactText[], targetOption: CheckSelectEventData, shouldChecked: boolean) => void;
|
42
34
|
/**
|
43
35
|
* 是否禁止使用
|
44
36
|
*/
|
45
37
|
disabled?: boolean;
|
46
|
-
/**
|
47
|
-
* 设置选项为空时展示的内容
|
48
|
-
*/
|
49
|
-
emptyContent?: React.ReactNode;
|
50
|
-
/**
|
51
|
-
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
52
|
-
*/
|
53
|
-
displayRender?: (option: CheckSelectEventData) => React.ReactNode;
|
54
|
-
/**
|
55
|
-
* 触发器输入框占位符
|
56
|
-
*/
|
57
|
-
placeholder?: string;
|
58
|
-
/**
|
59
|
-
* 搜索输入框占位符
|
60
|
-
*/
|
61
|
-
searchPlaceholder?: string;
|
62
|
-
/**
|
63
|
-
* 启用自定义过滤函数实现根据搜索框内容,自定义搜索
|
64
|
-
*/
|
65
|
-
filter?: (keyword: string, option: CheckSelectEventData) => boolean;
|
66
38
|
/**
|
67
39
|
* 选项数据
|
68
40
|
*/
|
@@ -74,6 +46,6 @@ export interface UseCheckSelectProps {
|
|
74
46
|
/**
|
75
47
|
* 设置 data 中 id, title, disabled, children 对应的 key
|
76
48
|
*/
|
77
|
-
fieldNames?:
|
49
|
+
fieldNames?: HiBaseFieldNames;
|
78
50
|
}
|
79
51
|
export declare type UseSelectReturn = ReturnType<typeof useCheckSelect>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/check-select",
|
3
|
-
"version": "4.0.0-alpha.
|
3
|
+
"version": "4.0.0-alpha.37",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -43,29 +43,29 @@
|
|
43
43
|
"url": "https://github.com/XiaoMi/hiui/issues"
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"@hi-ui/checkbox": "^4.0.0-alpha.
|
46
|
+
"@hi-ui/checkbox": "^4.0.0-alpha.32",
|
47
47
|
"@hi-ui/classname": "^4.0.0-alpha.3",
|
48
|
-
"@hi-ui/core": "^4.0.0-alpha.
|
49
|
-
"@hi-ui/core-css": "^4.0.0-alpha.
|
48
|
+
"@hi-ui/core": "^4.0.0-alpha.20",
|
49
|
+
"@hi-ui/core-css": "^4.0.0-alpha.14",
|
50
50
|
"@hi-ui/env": "^4.0.0-alpha.6",
|
51
|
-
"@hi-ui/func-utils": "^4.0.0-alpha.
|
52
|
-
"@hi-ui/highlighter": "^4.0.0-alpha.
|
53
|
-
"@hi-ui/icons": "^4.0.0-alpha.
|
54
|
-
"@hi-ui/input": "^4.0.0-alpha.
|
55
|
-
"@hi-ui/locale-context": "^4.0.0-alpha.
|
56
|
-
"@hi-ui/picker": "^4.0.0-alpha.
|
57
|
-
"@hi-ui/popper": "^4.0.0-alpha.
|
58
|
-
"@hi-ui/tag-input": "^4.0.0-alpha.
|
51
|
+
"@hi-ui/func-utils": "^4.0.0-alpha.6",
|
52
|
+
"@hi-ui/highlighter": "^4.0.0-alpha.13",
|
53
|
+
"@hi-ui/icons": "^4.0.0-alpha.29",
|
54
|
+
"@hi-ui/input": "^4.0.0-alpha.34",
|
55
|
+
"@hi-ui/locale-context": "^4.0.0-alpha.19",
|
56
|
+
"@hi-ui/picker": "^4.0.0-alpha.19",
|
57
|
+
"@hi-ui/popper": "^4.0.0-alpha.25",
|
58
|
+
"@hi-ui/tag-input": "^4.0.0-alpha.25",
|
59
59
|
"@hi-ui/times": "^4.0.0-alpha.4",
|
60
|
-
"@hi-ui/tree-utils": "^4.0.0-alpha.
|
61
|
-
"@hi-ui/type-assertion": "^4.0.0-alpha.
|
62
|
-
"@hi-ui/use-check": "^4.0.0-alpha.
|
60
|
+
"@hi-ui/tree-utils": "^4.0.0-alpha.13",
|
61
|
+
"@hi-ui/type-assertion": "^4.0.0-alpha.14",
|
62
|
+
"@hi-ui/use-check": "^4.0.0-alpha.21",
|
63
63
|
"@hi-ui/use-children": "^4.0.0-alpha.4",
|
64
|
-
"@hi-ui/use-data-source": "^4.0.0-alpha.
|
64
|
+
"@hi-ui/use-data-source": "^4.0.0-alpha.8",
|
65
65
|
"@hi-ui/use-latest": "^4.0.0-alpha.5",
|
66
|
-
"@hi-ui/use-search-mode": "^4.0.0-alpha.
|
67
|
-
"@hi-ui/use-toggle": "^4.0.0-alpha.
|
68
|
-
"@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.
|
66
|
+
"@hi-ui/use-search-mode": "^4.0.0-alpha.16",
|
67
|
+
"@hi-ui/use-toggle": "^4.0.0-alpha.12",
|
68
|
+
"@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.14",
|
69
69
|
"lodash": "^4.17.21",
|
70
70
|
"rc-virtual-list": "^3.4.1"
|
71
71
|
},
|
@@ -78,5 +78,5 @@
|
|
78
78
|
"react": "^17.0.1",
|
79
79
|
"react-dom": "^17.0.1"
|
80
80
|
},
|
81
|
-
"gitHead": "
|
81
|
+
"gitHead": "e2c5a8d51cea3fbc08cb475b4acfb0972f95d418"
|
82
82
|
}
|