UNPKG

3.56 kBTypeScriptView Raw
1/// <reference types="react" />
2
3import * as React from "react";
4
5interface HTMLAttributesWeak extends React.HTMLAttributes<HTMLElement> {
6 defaultValue?: any;
7 onChange?: any;
8}
9
10export interface CascaderSelectProps extends HTMLAttributesWeak {
11 /**
12 * 选择框大小
13 */
14 size?: "small" | "medium" | "large";
15
16 /**
17 * 选择框占位符
18 */
19 placeholder?: string;
20
21 /**
22 * 是否禁用
23 */
24 disabled?: boolean;
25
26 /**
27 * 是否有下拉箭头
28 */
29 hasArrow?: boolean;
30
31 /**
32 * 是否有边框
33 */
34 hasBorder?: boolean;
35
36 /**
37 * 是否有清除按钮
38 */
39 hasClear?: boolean;
40
41 /**
42 * 自定义内联 label
43 */
44 label?: React.ReactNode;
45
46 /**
47 * 是否只读,只读模式下可以展开弹层但不能选
48 */
49 readOnly?: boolean;
50
51 /**
52 * 数据源,结构可参考下方说明
53 */
54 dataSource?: Array<any>;
55
56 /**
57 * (非受控)默认值
58 */
59 defaultValue?: string | Array<any>;
60
61 /**
62 * (受控)当前值
63 */
64 value?: string | Array<any>;
65
66 /**
67 * 选中值改变时触发的回调函数
68 */
69 onChange?: (
70 value: string | Array<any>,
71 data: {} | Array<any>,
72 extra: {}
73 ) => void;
74
75 /**
76 * 默认展开值,如果不设置,组件内部会根据 defaultValue/value 进行自动设置
77 */
78 defaultExpandedValue?: Array<any>;
79
80 /**
81 * 展开触发的方式
82 */
83 expandTriggerType?: "click" | "hover";
84
85 /**
86 * 是否开启虚拟滚动
87 */
88 useVirtual?: boolean;
89
90 /**
91 * 是否多选
92 */
93 multiple?: boolean;
94
95 /**
96 * 是否选中即发生改变, 该属性仅在单选模式下有效
97 */
98 changeOnSelect?: boolean;
99
100 /**
101 * 是否只能勾选叶子项的checkbox,该属性仅在多选模式下有效
102 */
103 canOnlyCheckLeaf?: boolean;
104
105 /**
106 * 父子节点是否选中不关联
107 */
108 checkStrictly?: boolean;
109
110 /**
111 * 每列列表样式对象
112 */
113 listStyle?: {};
114
115 /**
116 * 每列列表类名
117 */
118 listClassName?: string;
119
120 /**
121 * 选择框单选时展示结果的自定义渲染函数
122 */
123 displayRender?: (label: Array<any>) => React.ReactNode;
124
125 /**
126 * 渲染 item 内容的方法
127 */
128 itemRender?: (item: {}) => React.ReactNode;
129
130 /**
131 * 是否显示搜索框
132 */
133 showSearch?: boolean;
134
135 /**
136 * 自定义搜索函数
137 */
138 filter?: (searchValue: string, path: Array<any>) => boolean;
139
140 /**
141 * 搜索结果自定义渲染函数
142 */
143 resultRender?: (searchValue: string, path: Array<any>) => React.ReactNode;
144
145 /**
146 * 搜索结果列表是否和选择框等宽
147 */
148 resultAutoWidth?: boolean;
149
150 /**
151 * 无数据时显示内容
152 */
153 notFoundContent?: React.ReactNode;
154
155 /**
156 * 异步加载数据函数
157 */
158 loadData?: (data: {}) => void;
159
160 /**
161 * 自定义下拉框头部
162 */
163 header?: React.ReactNode;
164
165 /**
166 * 自定义下拉框底部
167 */
168 footer?: React.ReactNode;
169
170 /**
171 * 初始下拉框是否显示
172 */
173 defaultVisible?: boolean;
174
175 /**
176 * 当前下拉框是否显示
177 */
178 visible?: boolean;
179
180 /**
181 * 下拉框显示或关闭时触发事件的回调函数
182 */
183 onVisibleChange?: (visible: boolean, type: string) => void;
184
185 /**
186 * 下拉框自定义样式对象
187 */
188 popupStyle?: {};
189
190 /**
191 * 下拉框样式自定义类名
192 */
193 popupClassName?: string;
194
195 /**
196 * 下拉框挂载的容器节点
197 */
198 popupContainer?: string | (() => void);
199
200 /**
201 * 透传到 Popup 的属性对象
202 */
203 popupProps?: {};
204}
205
206export default class CascaderSelect extends React.Component<
207 CascaderSelectProps,
208 any
209> {}
210
\No newline at end of file