Select 选择器
API#
Select#
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| size | small,medium(default),large | String | medium |
| shape | normal,arrow-only | String | normal |
| placeholder | 没有值的时候的占位符 | String | Please Select |
| value | 当前值 | String,Array,Number | null |
| defaultValue | 初始默认值 | String,Array,Number | null |
| visible | 当前弹层是否显示 | Boolean | false |
| defaultVisible | 弹层初始是否显示 | Boolean | false |
| disabled | 是否禁用 | Boolean | false |
| dataSource | 传入的数据,可以动态渲染子项,详见dataSource | Array | null |
| multiple | 是否是多选 | Boolean | false |
| fillProps | 填充到选择框里面的值 | String | label |
| showSearch | 是否显示顶部的搜索框 | Boolean | false |
| filterBy | 在输入的时候过滤的函数,仅在filterLocal为true时候有效 | Function(filterValue, item):Boolean | filterBy |
| filterLocal | 是否使用本地过滤,在数据源为远程的时候需要关闭此选项 | Boolean | true |
| hasArrow | 是否显示右侧的箭头 | Boolean | true |
| autoWidth | 下拉菜单是否与选择器对齐 | Boolean | true |
| onChange | Select发生改变的时候触发的回调 | Function(value, data) | noop |
| onSearch | 在搜索框中输入触发的事件,仅在showSearch为true时候有效 | Function(value) | noop |
Select.OptionGroup#
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| label | 设置分组的文案 | String, ReactElement | '' |
Select.Combobox#
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| size | small,medium(default),large | String | medium |
| shape | normal,arrow-only | String | normal |
| placeholder | 没有值的时候的占位符 | String | Please input |
| value | 当前值 | String,Array,Number | null |
| defaultValue | 初始默认值 | String,Array,Number | null |
| visible | 当前弹层是否显示 | Boolean | false |
| defaultVisible | 弹层初始是否显示 | Boolean | false |
| disabled | 是否禁用 | Boolean | false |
| dataSource | 传入的数据,可以动态渲染子项, 详见dataSource | Array | null |
| multiple | 是否是多选 | Boolean | false |
| tags | 是否启用标签模式, 仅在多选时有效,效果是除了自动提示外的选项, 也可以使用输入的文字作为标签 | Boolean | false |
| fillProps | 填充到选择框里面的值 | String | value |
| hasArrow | 是否显示右侧的箭头 | Boolean | true |
| autoWidth | 下拉菜单是否与选择器对齐 | Boolean | true |
| hiddenSelected | 选择后是否立即隐藏菜单,单选是默认隐藏的,因此该选项只在多选的时候有效 | Boolean | false |
| filterBy | 在输入的时候过滤的函数,仅在filterLocal为true时候有效 | Function(filterValue, item):Boolean | filterBy |
| filterLocal | 是否使用本地过滤,在数据源为远程的时候需要关闭此选项 | Boolean | true |
| onChange | Combobox发生改变的时候触发的回调, 注意在输入的时候该事件不会被触发,如果需要监听输入的事件请使用onInputUpdate | Function(value, item) | noop |
| onInputUpdate | Combobox在用户输入的时候触发的回调 | Function(value) | noop |
| onInputFocus | Combobox获取焦点的时候触发的回调 | Function(e, clickByUser:Boolean) | noop |
| onInputBlur | Combobox失去焦点的时候触发的回调 | Function(e) | noop |
| onInputEnter | Combobox回车的时候触发的回调 | Function(e) | noop |
dataSource#
Select同时支持children和在props中传入dataSource作为数据源,如果同时设置,则以children为准.
children的方式
<Select>
<Select.Option value="option1">option1</Select.Option>
<Select.Option value="option2">option2</Select.Option>
<Select.Option disabled>disabled</Select.Option>
</Select>props的方式
const dataSource = [
{label:'option1', value:'option1},
{label:'option2', value:'option2'},
{label:'disabled', disabled:true}
]
<Select dataSource={dataSource}/>
`ARIA and KeyBoard.#
Select#
| 按键 | 说明 |
|---|---|
| tab | 在可以被聚焦的select之间导航 |
| enter: select | 弹出下拉菜单 |
| upArrow | 向上导航到一个MenuItem |
| downArrow | 向下导航到一个MenuItem |
| enter: menuItem | 选中当前的MenuItem |
Select.Combobox#
| 按键 | 说明 |
|---|---|
| tab | 在可以被聚焦的combobox之间导航 |
| enter | 选中当前的MenuItem |
| upArrow | 向上导航到一个MenuItem |
| downArrow | 向下导航到一个MenuItem |
