Select 选择器
#
使用场景代替原生 select 元素。
#
单选与多选Select 支持以下两种方式来开启多选模式:
- 设置
multiple={true}
- 使用
<Select.Multi />
组件
在 TypeScript 项目中,我们推荐使用组件来切换单选(Select.Single)和多选(Select.Multi),类型提示和检查将更准确。
#
示例#
基本示例请选择
noInline
#
整行选择器请选择
noInline
#
轻量选择请选择
noInline
#
搜索请选择
inline
#
大数据量请选择
inline
#
错误状态请选择
noInline
#
多选请选择
inline
#
APISelect.Single
与 Select.Multi
的区别仅在于 value
的类型不同(defaultValue
, onChange
的类型也有相应的区别),其他 props 都相同。
字段 | 描述 | |
---|---|---|
defaultValue | string | string[] | |
value | string | string[] | |
onChange | (nextValue: string | string[], detail: {}) => void | |
multiple | boolean 是否多选 | |
disabled | boolean 是否禁用 | |
dataSource | Array<string | { label, value }> 数据源 | |
外观 | ||
size | string 选择器尺寸 | |
style | CSSProperties | |
className | string | |
placeholder | string 选择器值为空时,trigger 上的占位文本 | |
hasArrow | boolean 是否有下拉箭头 | |
fill | boolean 选择器宽度是否占满容器 | |
shape | "simple" | "solid" 选择器形状 | |
hasClear | boolean 是否有清除按钮 | |
status | "normal" | "error" | "success" | "warning" 选择器状态 | |
containerProps | HTMLAttributes<HTMLDivElement> | |
弹层 | ||
visible | boolean 弹层是否打开 | |
onRequestClose | (reason?: any) => void | |
defaultVisible | boolean 弹层是否默认打开 | |
onRequestOpen | (reason?: any) => void | |
autoWidth | boolean = true | |
autoHeight | boolean = true | |
autoScrollToFirstItemWhenOpen | boolean = true选择器弹层被打开时,是否自动滚动到第一个选中的元素 | |
autoCloseAfterSelect | boolean 选择元素时,是否自动关闭弹层。 单选模式下默认为 true,多选模式下默认为 false | |
popupProps | PopupProps 透传给 Popup 组件的 props | |
搜索 | ||
showSearch | boolean 是否支持搜索功能 | |
searchValue | string 搜索关键字 | |
defaultSearchValue | string 非受控用法,默认的搜索关键字 | |
onSearch | (nextSearchValue: string, detail: { event: any; }) => void 关键字修改回调 | |
notFoundContent | ReactNode 搜索结果为空时的展示内容 |