Select
bee-select1.1.8changelogissue

下拉弹出菜单,代替原生的选择器。当然Select扩展了其他功能:多选,级联,搜索过滤单选和搜索过滤多选与自动填充选择。

API

参数 说明 类型 默认值
open 控制下拉框展开收起 bool false
value 指定当前选中的条目 string/array/react node -
defaultValue 指定默认选中的条目 string/array/react node -
multiple 支持多选 bool false
allowClear 支持清除, 单选模式有效 bool false
filterOption 是否根据输入项进行筛选。当其为一个函数时,会接收 inputValue option 两个参数,当 option 符合筛选条件时,应返回 true,反之则返回 false bool/func true
tags 可以把随意输入的条目作为 tag,输入项不需要与下拉选项匹配 bool false
onSelect 被选中时调用,参数为选中项的 value 值 func -
onDeselect 取消选中时调用,参数为选中项的 option value 值,仅在 multiple 或 tags 模式下生效 func -
onChange 选中 option,或 input 的 value 变化(combobox 模式下)时,调用此函数 bool -
onSearch 文本框值变化时回调 func -
onBlur 失去焦点的时回调 bool -
onFocus 获得焦点时回调 func -
placeholder 选择框默认文字 string -
notFoundContent 当下拉列表为空时显示的内容 string 'Not Found'
dropdownMatchSelectWidth 下拉菜单和选择器同宽 true -
optionLabelProp 回填到选择框的 Option 的属性值,默认是 Option 的子元素。比如在子元素需要高亮效果时,此值可以设为 value string/number children (combobox 模式下)为 value
combobox 输入框自动提示模式 bool false
size 选择框大小,可选 lg sm string default
showSearch 是否可以输入搜索 bool false
disabled 是否禁用 bool false
defaultActiveFirstOption 是否默认高亮第一个选项 bool true
dropdownStyle 下拉菜单的 style 属性 object -
dropdownClassName 下拉菜单的 className 属性 string -
getPopupContainer 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位 func () => document.body
labelInValue 是否把每个选项的 label 包装到 value 中,决定 Select 的 value 类型。 bool false
data 可以设置data属性来自动生成option,可以参见demo中的示例。也可以设置是否禁用disabled Array -
autofocus 设置是否默认打开,从属性需配合onFocus、onBlur 。 bool false
onKeyDown 按下键盘的回调 bool -
Children 必填,Option组件/OptGroup组件 node -

Option

参数 说明 类型 默认值
key 如果 react 需要你设置此项,此项值与 value 的值相同,然后可以省略 value 设置 string -
value 默认根据此属性值进行筛选 string -
disabled 是否禁用 bool false

OptGroup

参数 说明 类型 默认值
label 组名 string/react element -
mode string -
Children Option组件 node -

已支持的键盘操作

按键 功能
↑(上箭) 切换选项
↓(下箭) 切换选项
esc 关闭下拉项
enter 选中下拉框

注意

在Modal组件中,使用Select组件时,需要使用getPopupContainer,来让下拉显示在modal上。


return (
    <Select
        getPopupContainer={() => document.getElementById('modalId')}>
    </Select>
)