@hi-ui/cascader 4.0.0-alpha.28 → 4.0.0-alpha.29
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/Cascader.js +86 -135
- package/lib/cjs/Cascader.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +6 -33
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/use-select.js +3 -1
- package/lib/cjs/hooks/use-select.js.map +1 -1
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-cascader.js +28 -70
- package/lib/cjs/use-cascader.js.map +1 -1
- package/lib/cjs/utils/index.js +5 -12
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/Cascader.js +91 -135
- package/lib/esm/Cascader.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +6 -34
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/use-select.js +2 -1
- package/lib/esm/hooks/use-select.js.map +1 -1
- package/lib/esm/index.js +1 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-cascader.js +24 -65
- package/lib/esm/use-cascader.js.map +1 -1
- package/lib/esm/utils/index.js +5 -12
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/Cascader.d.ts +8 -56
- package/lib/types/context.d.ts +25 -586
- package/lib/types/hooks/index.d.ts +0 -2
- package/lib/types/hooks/use-async-switch.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/use-cascader.d.ts +47 -294
- package/lib/types/utils/index.d.ts +0 -4
- package/package.json +13 -12
- package/lib/cjs/CascaderPanel.js +0 -81
- package/lib/cjs/CascaderPanel.js.map +0 -1
- package/lib/cjs/hooks/use-cache.js +0 -37
- package/lib/cjs/hooks/use-cache.js.map +0 -1
- package/lib/cjs/hooks/use-search.js +0 -116
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/esm/CascaderPanel.js +0 -58
- package/lib/esm/CascaderPanel.js.map +0 -1
- package/lib/esm/hooks/use-cache.js +0 -30
- package/lib/esm/hooks/use-cache.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -107
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/types/CascaderPanel.d.ts +0 -142
- package/lib/types/hooks/use-cache.d.ts +0 -8
- package/lib/types/hooks/use-search.d.ts +0 -9
package/lib/esm/use-cascader.js
CHANGED
@@ -10,13 +10,12 @@
|
|
10
10
|
import { __rest } from 'tslib';
|
11
11
|
import { useMemo, useCallback } from 'react';
|
12
12
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
13
|
+
import { useCache } from './hooks/use-cache/lib/esm/index.js';
|
13
14
|
import { flattenTreeData, getActiveNodePaths, checkCanLoadChildren, getFlattedMenus, getActiveMenus } from './utils/index.js';
|
14
|
-
import { useSearch } from './hooks/use-search.js';
|
15
15
|
import { useSelect } from './hooks/use-select.js';
|
16
|
-
import { useCache } from './hooks/use-cache.js';
|
17
16
|
import { useAsyncSwitch } from './hooks/use-async-switch.js';
|
18
17
|
var NOOP_ARRAY = [];
|
19
|
-
var NOOP_VALUE =
|
18
|
+
var NOOP_VALUE = [];
|
20
19
|
|
21
20
|
var useCascader = function useCascader(_a) {
|
22
21
|
var _a$defaultValue = _a.defaultValue,
|
@@ -30,25 +29,13 @@ var useCascader = function useCascader(_a) {
|
|
30
29
|
_a$changeOnSelect = _a.changeOnSelect,
|
31
30
|
changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
|
32
31
|
_a$flatted = _a.flatted,
|
33
|
-
|
34
|
-
|
35
|
-
upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
|
36
|
-
_a$expandTrigger = _a.expandTrigger,
|
37
|
-
expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
|
38
|
-
_a$emptyContent = _a.emptyContent,
|
39
|
-
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
40
|
-
placeholder = _a.placeholder,
|
41
|
-
searchPlaceholder = _a.searchPlaceholder,
|
42
|
-
onSelect = _a.onSelect,
|
43
|
-
titleRender = _a.titleRender,
|
44
|
-
displayRender = _a.displayRender,
|
32
|
+
flatted = _a$flatted === void 0 ? false : _a$flatted,
|
33
|
+
onSelectProp = _a.onSelect,
|
45
34
|
onLoadChildren = _a.onLoadChildren,
|
46
35
|
cascaderDataProp = _a.cascaderData,
|
47
36
|
setCascaderDataProp = _a.setCascaderData,
|
48
37
|
flattedDataProp = _a.flattedData,
|
49
|
-
|
50
|
-
inSearchProp = _a.inSearch,
|
51
|
-
rest = __rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "upMatch", "expandTrigger", "emptyContent", "placeholder", "searchPlaceholder", "onSelect", "titleRender", "displayRender", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData", "matchedItems", "inSearch"]);
|
38
|
+
rest = __rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "onSelect", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData"]);
|
52
39
|
|
53
40
|
var _useCache = useCache(data),
|
54
41
|
cacheData = _useCache[0],
|
@@ -64,20 +51,24 @@ var useCascader = function useCascader(_a) {
|
|
64
51
|
value = _useUncontrolledState[0],
|
65
52
|
tryChangeValue = _useUncontrolledState[1];
|
66
53
|
|
67
|
-
var
|
68
|
-
tryChangeValue(
|
69
|
-
|
70
|
-
|
54
|
+
var onSelect = function onSelect(value, item, itemPaths) {
|
55
|
+
tryChangeValue(itemPaths.map(function (_ref) {
|
56
|
+
var id = _ref.id;
|
57
|
+
return id;
|
58
|
+
}));
|
59
|
+
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
60
|
+
}; // 单击选中某项
|
61
|
+
|
71
62
|
|
72
|
-
var _useSelect = useSelect(disabled,
|
63
|
+
var _useSelect = useSelect(disabled, onSelect, changeOnSelect, onLoadChildren),
|
73
64
|
selectedId = _useSelect[0],
|
74
65
|
onOptionSelect = _useSelect[1],
|
75
66
|
setSelectedId = _useSelect[2]; // 选中 id 路径
|
76
67
|
|
77
68
|
|
78
69
|
var selectedIds = useMemo(function () {
|
79
|
-
return getActiveNodePaths(flattedData, selectedId).map(function (
|
80
|
-
var id =
|
70
|
+
return getActiveNodePaths(flattedData, selectedId).map(function (_ref2) {
|
71
|
+
var id = _ref2.id;
|
81
72
|
return id;
|
82
73
|
});
|
83
74
|
}, [flattedData, selectedId]); // 存在异步加载数据的情况时,单击选中时需要控制异步加载状态
|
@@ -93,28 +84,12 @@ var useCascader = function useCascader(_a) {
|
|
93
84
|
var isCanLoadChildren = useCallback(function (option) {
|
94
85
|
return checkCanLoadChildren(option, onLoadChildren);
|
95
86
|
}, [onLoadChildren]);
|
96
|
-
|
97
|
-
var _useSearch = useSearch(flattedData, upMatch, isCanLoadChildren),
|
98
|
-
inSearchInner = _useSearch[0],
|
99
|
-
matchedItemsInner = _useSearch[1],
|
100
|
-
inputProps = _useSearch[2],
|
101
|
-
isEmpty = _useSearch[3],
|
102
|
-
resetSearch = _useSearch[4];
|
103
|
-
|
104
|
-
var inSearch = inSearchProp !== null && inSearchProp !== void 0 ? inSearchProp : inSearchInner;
|
105
|
-
var matchedItems = matchedItemsProp !== null && matchedItemsProp !== void 0 ? matchedItemsProp : matchedItemsInner;
|
106
87
|
var menuList = useMemo(function () {
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
}, [inSearch, flattedProp, matchedItems, flattedData, selectedId, isCanLoadChildren]); // 搜索的结果列表也采用 flatted 模式进行展示
|
113
|
-
|
114
|
-
var flatted = flattedProp || inSearch;
|
115
|
-
var getCascaderItemRequiredProps = useCallback(function (_ref2) {
|
116
|
-
var id = _ref2.id,
|
117
|
-
depth = _ref2.depth;
|
88
|
+
return flatted ? getFlattedMenus(flattedData, isCanLoadChildren) : getActiveMenus(flattedData, selectedId);
|
89
|
+
}, [flatted, flattedData, selectedId, isCanLoadChildren]);
|
90
|
+
var getCascaderItemRequiredProps = useCallback(function (_ref3) {
|
91
|
+
var id = _ref3.id,
|
92
|
+
depth = _ref3.depth;
|
118
93
|
return {
|
119
94
|
selected: flatted ? selectedId === id : selectedIds[depth] === id,
|
120
95
|
loading: isLoadingId(id),
|
@@ -122,17 +97,9 @@ var useCascader = function useCascader(_a) {
|
|
122
97
|
focused: false
|
123
98
|
};
|
124
99
|
}, [flatted, selectedId, selectedIds, isLoadingId]);
|
125
|
-
var getSearchInputProps = useCallback(function () {
|
126
|
-
return {
|
127
|
-
placeholder: searchPlaceholder,
|
128
|
-
value: inputProps.value,
|
129
|
-
onChange: inputProps.onChange
|
130
|
-
};
|
131
|
-
}, [searchPlaceholder, inputProps]);
|
132
100
|
var reset = useCallback(function () {
|
133
|
-
|
134
|
-
|
135
|
-
}, [setSelectedId, value, resetSearch]);
|
101
|
+
setSelectedId(value[value.length - 1]);
|
102
|
+
}, [setSelectedId, value]);
|
136
103
|
return {
|
137
104
|
rootProps: rest,
|
138
105
|
reset: reset,
|
@@ -140,21 +107,13 @@ var useCascader = function useCascader(_a) {
|
|
140
107
|
value: value,
|
141
108
|
tryChangeValue: tryChangeValue,
|
142
109
|
getCascaderItemRequiredProps: getCascaderItemRequiredProps,
|
143
|
-
expandTrigger: expandTrigger,
|
144
110
|
flatted: flatted,
|
145
111
|
onItemClick: onItemExpand,
|
146
112
|
onItemHover: onItemHover,
|
147
113
|
changeOnSelect: changeOnSelect,
|
148
114
|
onLoadChildren: onLoadChildren,
|
149
|
-
keyword: inputProps.value,
|
150
115
|
disabled: disabled,
|
151
|
-
menuList: menuList
|
152
|
-
isEmpty: isEmpty,
|
153
|
-
placeholder: placeholder,
|
154
|
-
displayRender: displayRender,
|
155
|
-
titleRender: titleRender,
|
156
|
-
emptyContent: emptyContent,
|
157
|
-
getSearchInputProps: getSearchInputProps
|
116
|
+
menuList: menuList
|
158
117
|
};
|
159
118
|
};
|
160
119
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","
|
1
|
+
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","onSelectProp","onSelect","onLoadChildren","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","flattedDataProp","flattedData","rest","useCache","cacheData","setCacheData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","item","itemPaths","map","id","useSelect","selectedId","onOptionSelect","setSelectedId","selectedIds","getActiveNodePaths","useAsyncSwitch","isLoadingId","onItemExpand","onItemHover","useCallback","option","isCanLoadChildren","checkCanLoadChildren","menuList","getFlattedMenus","getActiveMenus","getCascaderItemRequiredProps","depth","selected","loading","focused","reset","length","rootProps","onItemClick"],"mappings":"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"}
|
package/lib/esm/utils/index.js
CHANGED
@@ -7,7 +7,8 @@
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
|
-
import { flattenTree,
|
10
|
+
import { flattenTree, getTopDownAncestors } from '@hi-ui/tree-utils';
|
11
|
+
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
11
12
|
/**
|
12
13
|
* 扁平化树数据结构,基于前序遍历
|
13
14
|
*/
|
@@ -27,14 +28,6 @@ var flattenTreeData = function flattenTreeData(treeData) {
|
|
27
28
|
return flattedNode;
|
28
29
|
});
|
29
30
|
};
|
30
|
-
/**
|
31
|
-
* 获取自顶向下的祖先节点,包括自己
|
32
|
-
*/
|
33
|
-
|
34
|
-
|
35
|
-
var getTopDownAncestors = function getTopDownAncestors(node) {
|
36
|
-
return getNodeAncestorsWithMe(node).reverse();
|
37
|
-
};
|
38
31
|
/**
|
39
32
|
* 获取选中节点的节点路径,包含选中节点
|
40
33
|
*/
|
@@ -86,13 +79,13 @@ var getFlattedMenus = function getFlattedMenus(data, filter) {
|
|
86
79
|
};
|
87
80
|
|
88
81
|
var checkCanLoadChildren = function checkCanLoadChildren(node, onLoadChildren) {
|
89
|
-
var hasChildren = node.children
|
90
|
-
return hasChildren || onLoadChildren && !node.
|
82
|
+
var hasChildren = isArrayNonEmpty(node.children);
|
83
|
+
return hasChildren || onLoadChildren && !node.isLeaf && !node.children;
|
91
84
|
};
|
92
85
|
|
93
86
|
function getCascaderItemEventData(node, requiredProps) {
|
94
87
|
return Object.assign(Object.assign({}, node), requiredProps);
|
95
88
|
}
|
96
89
|
|
97
|
-
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths, getCascaderItemEventData, getFlattedMenus
|
90
|
+
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths, getCascaderItemEventData, getFlattedMenus };
|
98
91
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattenTree","node","flattedNode","raw","title","isLeaf","disabled","
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","flattenTree","node","flattedNode","raw","title","isLeaf","disabled","getActiveNodePaths","flattedData","selectedId","length","selectedOption","find","id","getTopDownAncestors","getActiveMenus","root","parent","menu","children","push","reverse","getFlattedMenus","data","filter","item","checkCanLoadChildren","onLoadChildren","hasChildren","isArrayNonEmpty","getCascaderItemEventData","requiredProps"],"mappings":";;;;;;;;;;;AAUA;;;;IAGaA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD;SACtBC,WAAW,CAAeD,QAAf,EAAyB,UAACE,IAAD;QACnCC,WAAW,GAAwBD;oBACWA,IAAI,CAACE;QAAjDC,KAAR,aAAQA;qCAAOC;QAAAA,MAAf,iCAAwB;uCAAOC;QAAAA,QAA/B,mCAA0C;AAC1CJ,IAAAA,WAAW,CAACE,KAAZF,GAAoBE,KAApBF;AACAA,IAAAA,WAAW,CAACG,MAAZH,GAAqBG,MAArBH;AACAA,IAAAA,WAAW,CAACI,QAAZJ,GAAuBI,QAAvBJ;WACOA;AANS,GAAA;;AAUpB;;;;;IAGaK,kBAAkB,GAAG,SAArBA,kBAAqB,CAChCC,WADgC,EAEhCC,UAFgC;MAI5BD,WAAW,CAACE,MAAZF,KAAuB,GAAG,OAAO,EAAP;MAExBG,cAAc,GAAGH,WAAW,CAACI,IAAZJ,CAAiB,cAAA;QAAGK,EAAH,QAAGA;WAASJ,UAAU,KAAKI;AAA5C,GAAAL;MACnB,CAACG,gBAAgB,OAAO,EAAP;SAEdG,mBAAmB,CAACH,cAAD;;AAG5B;;;;;IAGaI,cAAc,GAAG,SAAjBA,cAAiB,CAC5BP,WAD4B,EAE5BC,UAF4B;MAIxBD,WAAW,CAACE,MAAZF,KAAuB,GAAG,OAAO,EAAP;MAExBQ,IAAI,GAAGR,WAAW,CAAC,CAAD,CAAXA,CAAeS;MACxBC,IAAI,GAA4B,CAACF,IAAK,CAACG,QAAP;MAEhC,OAAOV,UAAP,KAAsB,aAAa,OAAOS,IAAP;MAEnCP,cAAc,GAAGH,WAAW,CAACI,IAAZJ,CAAiB,eAAA;QAAGK,EAAH,SAAGA;WAASJ,UAAU,KAAKI;AAA5C,GAAAL;MACjB,CAACG,gBAAgB,OAAOO,IAAP;;MAEjBP,cAAc,CAACQ,UAAU;AAC3BD,IAAAA,IAAI,GAAG,CAACP,cAAc,CAACQ,QAAhB,CAAPD;AADF,SAEO;AACLA,IAAAA,IAAI,GAAG,EAAPA;;;SAGKP,cAAc,CAACM,QAAQ;AAC5BC,IAAAA,IAAI,CAACE,IAALF,CAAUP,cAAc,CAACM,MAAfN,CAAsBQ,QAAhCD;AACAP,IAAAA,cAAc,GAAGA,cAAc,CAACM,MAAhCN;;;SAGKO,IAAI,CAACG,OAALH;;;IAGII,eAAe,GAAG,SAAlBA,eAAkB,CAC7BC,IAD6B,EAE7BC,MAF6B;SAItB,CAACD,IAAI,CAACC,MAALD,CAAY,UAACE,IAAD;WAAU,CAACD,MAAM,CAACC,IAAD;AAA7B,GAAAF,CAAD;;;IAGIG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACzB,IAAD,EAA4B0B,cAA5B;MAC5BC,WAAW,GAAGC,eAAe,CAAC5B,IAAI,CAACkB,QAAN;SAC5BS,WAAW,IAAKD,cAAc,IAAI,CAAC1B,IAAI,CAACI,MAAxBsB,IAAkC,CAAC1B,IAAI,CAACkB;;;SAGjDW,yBACd7B,MACA8B;yCAGK9B,OACA8B;;;"}
|
package/lib/types/Cascader.d.ts
CHANGED
@@ -1,36 +1,15 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import type { HiBaseHTMLProps } from '@hi-ui/core';
|
3
|
+
import { UseCascaderProps } from './use-cascader';
|
3
4
|
import { PopperProps } from '@hi-ui/popper';
|
4
|
-
import {
|
5
|
+
import { ExpandTrigger, FlattedCascaderItem, CascaderItemEventData } from './types';
|
5
6
|
import { PickerProps } from '@hi-ui/picker';
|
6
|
-
import { UseDataSource } from '@hi-ui/use-data-source';
|
7
7
|
/**
|
8
8
|
* TODO: What is Cascader
|
9
9
|
* Trigger + MenuList + Search
|
10
10
|
*/
|
11
11
|
export declare const Cascader: React.ForwardRefExoticComponent<CascaderProps & React.RefAttributes<HTMLDivElement | null>>;
|
12
|
-
export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | 'trigger'
|
13
|
-
/**
|
14
|
-
* 设置选择项数据源
|
15
|
-
*/
|
16
|
-
data: CascaderItem[];
|
17
|
-
/**
|
18
|
-
* 设置当前选中值
|
19
|
-
*/
|
20
|
-
value?: React.ReactText;
|
21
|
-
/**
|
22
|
-
* 设置当前选中值默认值
|
23
|
-
*/
|
24
|
-
defaultValue?: React.ReactText;
|
25
|
-
/**
|
26
|
-
* 选中值改变时的回调
|
27
|
-
*/
|
28
|
-
onChange?: (value: React.ReactText, targetOption?: CascaderItemEventData, optionPaths?: FlattedCascaderItem[]) => void;
|
29
|
-
/**
|
30
|
-
* 选中选项时触发,仅供内部使用
|
31
|
-
* @private
|
32
|
-
*/
|
33
|
-
onSelect?: (value: React.ReactText, targetOption: CascaderItemEventData, optionPaths: FlattedCascaderItem[]) => void;
|
12
|
+
export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | 'trigger'>, UseCascaderProps {
|
34
13
|
/**
|
35
14
|
* 次级菜单的展开方式
|
36
15
|
*/
|
@@ -43,34 +22,18 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
43
22
|
* 是否可清空
|
44
23
|
*/
|
45
24
|
clearable?: boolean;
|
46
|
-
/**
|
47
|
-
* 是否禁止使用
|
48
|
-
*/
|
49
|
-
disabled?: boolean;
|
50
25
|
/**
|
51
26
|
* 设置选项为空时展示的内容
|
52
27
|
*/
|
53
28
|
emptyContent?: React.ReactNode;
|
54
|
-
/**
|
55
|
-
* 是否启用选择即改变功能
|
56
|
-
*/
|
57
|
-
changeOnSelect?: boolean;
|
58
29
|
/**
|
59
30
|
* 自定义渲染节点的 title 内容
|
60
31
|
*/
|
61
|
-
titleRender?: (item: CascaderItemEventData
|
32
|
+
titleRender?: (item: CascaderItemEventData) => React.ReactNode;
|
62
33
|
/**
|
63
34
|
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
64
35
|
*/
|
65
36
|
displayRender?: (checkedOption: FlattedCascaderItem, checkedOptionPaths: FlattedCascaderItem[]) => React.ReactNode;
|
66
|
-
/**
|
67
|
-
* 将选项拍平展示,不支持 `onLoadChildren` 异步加载交互
|
68
|
-
*/
|
69
|
-
flatted?: boolean;
|
70
|
-
/**
|
71
|
-
* 开启全量搜索,默认只对开启 checkable 的选项进行搜索,不向上查找路径
|
72
|
-
*/
|
73
|
-
upMatch?: boolean;
|
74
37
|
/**
|
75
38
|
* 触发器输入框占位符
|
76
39
|
*/
|
@@ -80,9 +43,11 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
80
43
|
*/
|
81
44
|
searchPlaceholder?: string;
|
82
45
|
/**
|
83
|
-
*
|
46
|
+
* 自定义搜索过滤器,仅在 searchable 为 true 时有效
|
47
|
+
* 第一个参数为输入的关键字,
|
48
|
+
* 第二个为数据项,返回值为 true 时将出现在结果项
|
84
49
|
*/
|
85
|
-
|
50
|
+
filterOption?: (keyword: string, item: CascaderItemEventData) => boolean;
|
86
51
|
/**
|
87
52
|
* 自定义控制 popper 行为
|
88
53
|
*/
|
@@ -91,19 +56,6 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
91
56
|
* 设置展现形式
|
92
57
|
*/
|
93
58
|
appearance?: 'outline' | 'unset' | 'filled';
|
94
|
-
/**
|
95
|
-
* 自定义搜索过滤器,仅在 searchable 为 true 时有效
|
96
|
-
* 第一个参数为输入的关键字,
|
97
|
-
* 第二个为数据项,返回值为 true 时将出现在结果项
|
98
|
-
*/
|
99
|
-
filterOption?: (keyword: string, item: CascaderItemEventData) => boolean;
|
100
|
-
/**
|
101
|
-
* 异步加载数据
|
102
|
-
*/
|
103
|
-
dataSource?: UseDataSource<CascaderItemEventData>;
|
104
|
-
}
|
105
|
-
export declare const CascaderSearch: React.ForwardRefExoticComponent<Pick<CascaderSearchProps, string | number> & React.RefAttributes<HTMLInputElement | null>>;
|
106
|
-
export interface CascaderSearchProps extends HiBaseHTMLProps {
|
107
59
|
}
|
108
60
|
export declare const CascaderMenuList: React.ForwardRefExoticComponent<Pick<CascaderMenuListProps, string | number> & React.RefAttributes<HTMLDivElement | null>>;
|
109
61
|
export interface CascaderMenuListProps extends HiBaseHTMLProps {
|