## 简介

选择器也称为下拉框、选择框，常用于快速录入已经信息选项的场景，包括单选和多选，在选择器的下拉框中可以提供搜索功能方便用户快速定位选项，也可以同时提供创建引导链接，让用户能增加选项。

## 示例

```tsx
import React from 'react';
import { Select } from '@alicloud/console-components';

const onChange = (value: any) => {
  console.log(value);
};
export const dataSource = [
  {
    value: '10001',
    label: '选项A',
  },
  {
    value: '10002',
    label: '选项B',
  },
];
const h4Style = {
  fontSize: '12px',
  marginTop: '24px',
};

export default () => {
  return (
    <div style={{ display: 'flex', flexWrap: 'wrap' }}>
      <div style={{ marginRight: '78px' }}>
        <h4 style={h4Style}>默认32px</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          size="medium"
          dataSource={dataSource}
          style={{ width: '280px' }}
        />
      </div>
      <div>
        <h4 style={h4Style}>大号36px</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          size="large"
          dataSource={dataSource}
          style={{ width: '280px' }}
        />
      </div>
      <div>
        <h4 style={h4Style}>小号24px</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          size="small"
          dataSource={dataSource}
          style={{ width: '280px' }}
        />
      </div>
    </div>
  );
};

export const meta = {
  title: '尺寸',
  describe: '通过设置size属性，设置组件尺寸。',
};

```

```tsx
import React from 'react';
import { Form, Select } from '@alicloud/console-components';

const FormItem = Form.Item;
const onChange = (value: any) => {
  console.log(value);
};
const dataSource = [
  {
    value: '1',
    label: '默认项',
  },
  {
    value: '2',
    label: '聚焦项',
  },
  {
    value: '3',
    label: '选中项',
  },
  {
    value: '4',
    label: '默认项',
  },
  {
    value: '5',
    label: '失效项',
    disabled: true,
  },
];
const h4Style = {
  fontSize: '12px',
  marginTop: '24px',
};

export default () => {
  return (
    <div style={{ display: 'flex', flexWrap: 'wrap' }}>
      <div>
        <h4 style={h4Style}>默认</h4>
        <Select
          placeholder="请选择"
          defaultValue="3"
          onChange={onChange}
          size="medium"
          dataSource={dataSource}
          style={{ width: '280px' }}
        />
      </div>
      <div>
        <h4 style={h4Style}>禁用</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          size="medium"
          disabled
          dataSource={dataSource}
          style={{ width: '280px' }}
        />
      </div>
      <div>
        <h4 style={h4Style}>错误</h4>
        <Form labelAlign="inset" inline>
          <FormItem
            validateState="error"
            help="错误信息提示文字，上间距4px"
          >
            <Select
              placeholder="内容出错"
              state={'error'}
              dataSource={dataSource}
              style={{ marginTop: 20, width: 280 }}
            />
          </FormItem>
        </Form>
      </div>
    </div>
  );
};

export const meta = {
  title: '基础形态交互',
  describe: '设置disabled属性，禁用组件；设置state属性，设置组件状态。',
};

```

```tsx
import React from 'react';
import { Select } from '@alicloud/console-components';

const onChange = (value: any) => {
  console.log(value);
};
export const dataSource = [
  {
    value: '1',
    label: '默认项',
  },
  {
    value: '2',
    label: '聚焦项',
  },
  {
    value: '3',
    label: '选中项',
  },
  {
    value: '4',
    label: '选中项',
  },
  {
    value: '5',
    label: '默认项',
  },
  {
    value: '6',
    label: '失效项',
    disabled: true,
  },
];
const h4Style = {
  fontSize: '12px',
  marginTop: '24px',
};

export default () => {
  return (
    <div style={{ display: 'flex', flexWrap: 'wrap' }}>
      <div style={{ marginRight: '78px' }}>
        <h4 style={h4Style}>默认</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          defaultValue={['3', '4']}
          dataSource={dataSource}
          style={{
            width: 280,
          }}
          mode="multiple"
        />
      </div>
      <div>
        <h4 style={h4Style}>禁用</h4>
        <Select
          placeholder="请选择"
          onChange={onChange}
          defaultValue={['3', '4']}
          dataSource={dataSource}
          style={{
            width: 280,
          }}
          mode="multiple"
          disabled
        />
      </div>
    </div>
  );
};

export const meta = {
  title: '带多选标签形态交互',
  describe: '设置mode值为multiple，选择器为带多选标签形态。',
};

```

```tsx
import React from 'react';
import {
  Select,
  Input,
  Button,
  Icon,
  Divider,
} from '@alicloud/console-components';

const onChange = (value: any) => {
  console.log(value);
};
const dataSource1 = [
  {
    value: '1',
    label: '默认项',
  },
  {
    value: '2',
    label: '聚焦项',
  },
  {
    value: '3',
    label: '选中项',
  },
  {
    value: '4',
    label: '默认项',
  },
  {
    value: '5',
    label: '失效项',
    disabled: true,
  },
];
const dataSource = [
  { label: '内容描述，文案超出长度后允许自动换行，内容描述', value: '1' },
  { label: '内容描述，文案超出长度后允许自动换行，内容描述', value: '2' },
];
const menuProps1 = {
  focusable: false,
  header: (
    <div style={{ padding: '0 4px', textAlign: 'center' }}>
      <div style={{ paddingBottom: 4 }}>
        <Input
          size="small"
          placeholder="请输入内容"
          label={<Icon type="search" />}
        />
      </div>
    </div>
  ),
  footer: (
    <div style={{ padding: '0 4px', textAlign: 'center', margin: '0 -4px' }}>
      <Divider style={{ marginBottom: 0, marginTop: 4 }} />
      <Button text type="primary">
        Load More...
      </Button>
    </div>
  ),
};
const menuProps2 = {
  focusable: false,
  header: (
    <div style={{ padding: '4px 4px 0' }}>
      <div style={{ display: 'flex', paddingBottom: 4 }}>
        <Input
          size="small"
          placeholder="请输入内容"
          label={<Icon type="search" />}
        />
        <Button size="small" style={{ marginLeft: '8px', width: '24px', padding: 0, flexShrink: 0 }}>
          <Icon type="arrow_circular" />
        </Button>
      </div>
    </div>
  ),
  footer: (
    <div style={{ padding: '0 4px', margin: '0 -4px' }}>
      <Divider style={{ marginBottom: 0, marginTop: 4 }} />
      <div style={{ paddingLeft: 8 }}>
        <Button text type="primary">
          前往创建ECS
        </Button>
        <Icon type="external" />
      </div>
    </div>
  ),
};
const menuProps3 = {
  focusable: false,
  header: (
    <div style={{ padding: '4px 4px 0' }}>
      <div style={{ display: 'flex', paddingBottom: 4 }}>
        <Input
          size="small"
          placeholder="请输入内容"
          label={<Icon type="search" />}
        />
        <Button size="small" style={{ marginLeft: '8px', width: '24px', padding: 0, flexShrink: 0 }}>
          <Icon type="arrow_circular" />
        </Button>
      </div>
    </div>
  ),
  footer: (
    <div style={{ margin: '0 8px' }}>
      搜索结果：没有找到相关实例
      <Divider style={{ marginBottom: 0, marginTop: 4 }} />
      <div>
        无实例原因
        <p>
          1. A原因造成 <a href="#">解决方案a</a>
          <br />
          2. B原因造成 <a href="#">解决方案b</a>
        </p>
      </div>
    </div>
  ),
};
export default () => {
  return (
    <div>
      <h4 style={{ fontSize: '12px' }}>默认</h4>
      <Select
        showSearch
        placeholder="请选择"
        onChange={onChange}
        dataSource={dataSource1}
        style={{
          width: '280px',
        }}
        mode="multiple"
        menuProps={menuProps1}
      />
      <h4 style={{ fontSize: '12px', marginTop: '24px' }}>带刷新搜索默认</h4>
      <Select
        mode="multiple"
        dataSource={dataSource}
        style={{ width: '280px' }}
        menuProps={menuProps2}
        popupAutoFocus
      />
      <h4 style={{ fontSize: '12px', marginTop: '24px' }}>带刷新搜索无结果</h4>
      <Select
        mode="multiple"
        style={{ width: '280px' }}
        menuProps={menuProps3}
        popupAutoFocus
        dataSource={[]}
      />
    </div>
  );
};
export const meta = {
  title: '下拉带搜索形态',
  describe: '自定义 menuProps 实现下拉带搜索形态',
};

```

## API

### Select

| 参数                   | 说明                                                                                                                                                                                                    | 类型                                                                                                                             | 默认值                                | 是否必填 | 支持版本 |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | -------- | -------- |
| size                   | 选择器尺寸                                                                                                                                                                                              | 'small' | 'medium' | 'large'                                                                                                   | 'medium'                              |          | -        |
| children               | 子元素，详细使用方法参考 demo                                                                                                                                                                           | ReactElementWithTypeMark | ReactElementWithTypeMark\[]                                                                           | -                                     |          | -        |
| name                   | name                                                                                                                                                                                                    | string                                                                                                                           | -                                     |          | -        |
| value                  | 当前值，用于受控模式                                                                                                                                                                                    | DataSourceItem | DataSourceItem\[]                                                                                               | -                                     |          | -        |
| defaultValue           | 初始的默认值                                                                                                                                                                                            | DataSourceItem | DataSourceItem\[]                                                                                               | -                                     |          | -        |
| placeholder            | 没有值的时候的占位符                                                                                                                                                                                    | string                                                                                                                           | -                                     |          | -        |
| autoWidth              | 下拉菜单的宽度是否与选择器保持统一                                                                                                                                                                      | boolean                                                                                                                          | true                                  |          | -        |
| label                  | 自定义内联 label                                                                                                                                                                                        | React.ReactNode                                                                                                                  | -                                     |          | -        |
| hasClear               | 是否有清除按钮（单选模式有效）                                                                                                                                                                          | boolean                                                                                                                          | -                                     |          | -        |
| state                  | 校验状态                                                                                                                                                                                                | 'error' | 'loading' | 'success' | 'warning'                                                                                   | -                                     |          | -        |
| readOnly               | 是否只读，只读模式下可以展开弹层但不能选                                                                                                                                                                | boolean                                                                                                                          | -                                     |          | -        |
| disabled               | 是否禁用选择器                                                                                                                                                                                          | boolean                                                                                                                          | -                                     |          | -        |
| visible                | 当前弹层是否显示                                                                                                                                                                                        | boolean                                                                                                                          | -                                     |          | -        |
| defaultVisible         | 弹层初始化是否显示                                                                                                                                                                                      | boolean                                                                                                                          | -                                     |          | -        |
| onVisibleChange        | 弹层显示或隐藏时触发的回调                                                                                                                                                                              | (visible: boolean, type?: VisibleChangeType) => void                                                                             | -                                     |          | -        |
| popupContainer         | 弹层挂载的容器节点                                                                                                                                                                                      | string | HTMLElement | ((target: HTMLElement) => HTMLElement)                                                                  | -                                     |          | -        |
| popupClassName         | 弹层的 className                                                                                                                                                                                        | string                                                                                                                           | -                                     |          | -        |
| popupStyle             | 弹层的内联样式                                                                                                                                                                                          | React.CSSProperties                                                                                                              | -                                     |          | -        |
| popupProps             | 添加到弹层上的属性                                                                                                                                                                                      | PopupProps                                                                                                                       | -                                     |          | -        |
| followTrigger          | 是否跟随 trigger 滚动                                                                                                                                                                                   | boolean                                                                                                                          | -                                     |          | -        |
| popupContent           | 自定义弹层的内容                                                                                                                                                                                        | React.ReactNode                                                                                                                  | -                                     |          | -        |
| menuProps              | 弹层菜单属性                                                                                                                                                                                            | MenuProps                                                                                                                        | -                                     |          | 1.18     |
| filterLocal            | 是否使用本地过滤，在数据源为远程的时候需要关闭此项                                                                                                                                                      | boolean                                                                                                                          | true                                  |          | -        |
| filter                 | 本地过滤方法，返回一个 Boolean 值确定是否保留<br/><br/>**签名**:<br/>**参数**:<br/>*key*: 搜索关键字<br/>*item*: 渲染节点的 item                                                                        | (key: string | number, item: ObjectItem) => boolean                                                                             | -                                     |          | -        |
| onToggleHighlightItem  | 键盘上下键切换菜单高亮选项的回调                                                                                                                                                                        | (highlightKey?: unknown, type?: HighlightChangeType) => void                                                                     | -                                     |          | -        |
| useVirtual             | 是否开启虚拟滚动模式                                                                                                                                                                                    | boolean                                                                                                                          | -                                     |          | -        |
| dataSource             | 传入的数据源，可以动态渲染子项                                                                                                                                                                          | Array\<DataSourceItem>                                                                                                           | -                                     |          | -        |
| itemRender             | 渲染 MenuItem 内容的方法<br/><br/>**签名**:<br/>**参数**:<br/>*item*: 渲染节点的 item<br/>*searchValue*: 搜索关键字（如果开启搜索）                                                                     | (item: ObjectItem, searchValue: string | undefined) => React.ReactNode                                                          | -                                     |          | -        |
| mode                   | 选择器模式                                                                                                                                                                                              | 'single' | 'multiple' | 'tag'                                                                                                  | 'single'                              |          | -        |
| notFoundContent        | 弹层内容为空的文案                                                                                                                                                                                      | React.ReactNode                                                                                                                  | -                                     |          | -        |
| onChange               | Select 发生改变时触发的回调<br/><br/>**签名**:<br/>**参数**:<br/>*value*: 选中的值<br/>*actionType*: 触发的方式，'itemClick', 'enter', 'tag'<br/>*item*: 选中的值的对象数据 (useDetailValue=false 有效) | (<br/> value: DataSourceItem | DataSourceItem\[],<br/> actionType: string,<br/> item?: ObjectItem | ObjectItem\[]<br/> ) => void | -                                     |          | -        |
| hasBorder              | 是否有边框                                                                                                                                                                                              | boolean                                                                                                                          | -                                     |          | -        |
| hasArrow               | 是否有下拉箭头                                                                                                                                                                                          | boolean                                                                                                                          | true                                  |          | -        |
| showSearch             | 展开后是否能搜索（tag 模式下固定为 true）                                                                                                                                                               | boolean                                                                                                                          | false                                 |          | -        |
| onSearch               | 当搜索框值变化时回调                                                                                                                                                                                    | (value: string, e: React.ChangeEvent\<HTMLInputElement>) => void                                                                 | -                                     |          | -        |
| onSearchClear          | 当搜索框值被清空时候的回调                                                                                                                                                                              | (actionType?: string) => void                                                                                                    | -                                     |          | -        |
| hasSelectAll           | 多选模式下是否有全选功能                                                                                                                                                                                | boolean | string                                                                                                                | -                                     |          | -        |
| fillProps              | 填充到选择框里的值的 key                                                                                                                                                                                | string                                                                                                                           | -                                     |          | -        |
| useDetailValue         | onChange 返回的 value 使用 dataSource 的对象                                                                                                                                                            | boolean                                                                                                                          | -                                     |          | -        |
| cacheValue             | dataSource 变化的时是否保留已选的内容                                                                                                                                                                   | boolean                                                                                                                          | true                                  |          | -        |
| valueRender            | 自定义渲染 Select 选中值的效果                                                                                                                                                                          | (item: ObjectItem, props?: SelectProps) => React.ReactNode                                                                       | item => `item.label \|\| item.value` |          | -        |
| searchValue            | 受控搜索值，一般不需要设置                                                                                                                                                                              | string                                                                                                                           | -                                     |          | -        |
| tagInline              | 是否一行显示，仅在 mode 为 multiple 的时候生效                                                                                                                                                          | boolean                                                                                                                          | false                                 |          | -        |
| maxTagCount            | 最多显示多少个 tag                                                                                                                                                                                      | number                                                                                                                           | -                                     |          | -        |
| adjustTagSize          | tag 尺寸是否和 select 尺寸保持一致，仅在 multiple/tag 模式下有用                                                                                                                                        | boolean                                                                                                                          | false                                 |          | 1.24     |
| maxTagPlaceholder      | 隐藏多余 tag 时显示的内容，在 maxTagCount 生效时起作用<br/><br/>**签名**:<br/>**参数**:<br/>*selectedValues*: 当前已选中的元素<br/>*totalValues*: 总待选元素                                            | (<br/> selectedValues: ObjectItem\[],<br/> totalValues: ObjectItem\[]<br/> ) => React.ReactNode | HTMLElement                     | -                                     |          | -        |
| hiddenSelected         | 选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)                                                                                                                                                     | boolean                                                                                                                          | -                                     |          | -        |
| showDataSourceChildren | 是否展示 dataSource 中 children                                                                                                                                                                         | boolean                                                                                                                          | true                                  |          | -        |
| onRemove               | tag 删除回调                                                                                                                                                                                            | (item: ObjectItem) => void                                                                                                       | -                                     |          | -        |
| onFocus                | Select 获得焦点时的回调                                                                                                                                                                                 | (e: React.FocusEvent\<HTMLInputElement>) => void                                                                                 | -                                     |          | -        |
| onBlur                 | Select 失去焦点时的回调                                                                                                                                                                                 | (e: React.FocusEvent\<HTMLInputElement>) => void                                                                                 | -                                     |          | -        |
| onKeyDown              | Select 触发键盘事件时的回调                                                                                                                                                                             | (e: React.KeyboardEvent\<HTMLElement>) => void                                                                                   | -                                     |          | -        |
| isPreview              | 是否为预览态                                                                                                                                                                                            | boolean                                                                                                                          | -                                     |          | -        |
| renderPreview          | 渲染预览态的内容<br/><br/>**签名**:<br/>**参数**:<br/>*values*: 选中的值<br/>*props*: 当前的属性                                                                                                        | (<br/> values: DataSourceItem | DataSourceItem\[],<br/> props?: SelectProps<br/> ) => React.ReactNode                            | -                                     |          | -        |
| autoHighlightFirstItem | 自动高亮第一个选项                                                                                                                                                                                      | boolean                                                                                                                          | true                                  |          | -        |
| highlightKey           | 高亮 key                                                                                                                                                                                                | string                                                                                                                           | -                                     |          | -        |
| defaultHighlightKey    | 默认高亮 key                                                                                                                                                                                            | string | null                                                                                                                   | -                                     |          | -        |
| popupAutoFocus         | 展开下拉菜单时是否自动焦点到弹层                                                                                                                                                                        | boolean                                                                                                                          | false                                 |          | -        |
| popupComponent         | 渲染弹层使用的组件                                                                                                                                                                                      | React.FunctionComponent | React.ComponentClass | string                                                                        | -                                     |          | -        |
| tagClosable            | 是否可以关闭 tag                                                                                                                                                                                        | boolean                                                                                                                          | true                                  |          | 1.20     |

### Select.AutoComplete

| 参数                   | 说明                                               | 类型                                                            | 默认值   | 是否必填 |
| ---------------------- | -------------------------------------------------- | --------------------------------------------------------------- | -------- | -------- |
| size                   | 选择器尺寸                                         | 'small' | 'medium' | 'large'                                  | 'medium' |          |
| value                  | 当前值，用于受控模式                               | string | number | null                                        | -        |          |
| defaultValue           | 初始化的默认值                                     | string | number                                                | -        |          |
| placeholder            | 没有值的时候的占位符                               | string                                                          | -        |          |
| autoWidth              | 下拉菜单的宽度是否与选择器保持统一                 | boolean                                                         | true     |          |
| label                  | 自定义内联 label                                   | React.ReactNode                                                 | -        |          |
| hasClear               | 是否有清除按钮（单选模式有效）                     | boolean                                                         | -        |          |
| state                  | 校验状态                                           | 'error' | 'loading' | 'success' | 'warning'                  | -        |          |
| readOnly               | 是否只读，只读模式下可以展开弹层但不能选           | boolean                                                         | -        |          |
| disabled               | 是否禁用选择器                                     | boolean                                                         | -        |          |
| visible                | 当前弹层是否显示                                   | boolean                                                         | -        |          |
| defaultVisible         | 弹层初始化是否显示                                 | boolean                                                         | -        |          |
| onVisibleChange        | 弹层显示或隐藏时触发的回调                         | (visible: boolean, type?: VisibleChangeType) => void            | -        |          |
| popupContainer         | 弹层挂载的容器节点                                 | string | HTMLElement | ((target: HTMLElement) => HTMLElement) | -        |          |
| popupClassName         | 弹层的 className                                   | string                                                          | -        |          |
| popupStyle             | 弹层的内联样式                                     | React.CSSProperties                                             | -        |          |
| popupProps             | 添加到弹层上的属性                                 | PopupProps                                                      | -        |          |
| popupContent           | 自定义弹层的内容                                   | React.ReactNode                                                 | -        |          |
| followTrigger          | 是否跟随 trigger 滚动                              | boolean                                                         | -        |          |
| filterLocal            | 是否使用本地过滤，在数据源为远程的时候需要关闭此项 | boolean                                                         | true     |          |
| filter                 | 本地过滤方法，返回一个 Boolean 值确定是否保留      | (key: string | number, item: ObjectItem) => boolean            | -        |          |
| onToggleHighlightItem  | 键盘上下键切换菜单高亮选项的回调                   | (highlightKey: unknown, ...args: unknown\[]) => void             | -        |          |
| useVirtual             | 是否开启虚拟滚动模式                               | boolean                                                         | -        |          |
| dataSource             | 传入的数据源，可以动态渲染子项                     | Array\<DataSourceItem>                                          | -        |          |
| itemRender             | 渲染 MenuItem 内容的方法                           | (item: ObjectItem) => React.ReactNode                           | -        |          |
| onChange               | AutoComplete 发生改变时触发的回调                  | (value: string, actionType: string, item?: ObjectItem) => void  | -        |          |
| onKeyDown              | -                                                  | (e: React.KeyboardEvent\<HTMLElement>) => void                  | -        |          |
| fillProps              | 填充到选择框里的值的 key                           | string                                                          | 'value'  |          |
| autoHighlightFirstItem | 自动高亮第一个选项                                 | boolean                                                         | true     |          |
| highlightKey           | 高亮 key                                           | string                                                          | -        |          |
| defaultHighlightKey    | 默认高亮 key                                       | string                                                          | -        |          |
| onFocus                | AutoComplete 获得焦点时的回调                      | InputProps\['onFocus']                                           | -        |          |
| children               | 子元素，详细使用方法参考 demo                      | ReactElementWithTypeMark | ReactElementWithTypeMark\[]          | -        |          |
| highlightHolder        | 是否将当前高亮的选项作为 placeholder               | boolean                                                         | -        |          |

### Select.OptionGroup

| 参数  | 说明           | 类型            | 默认值 | 是否必填 |
| ----- | -------------- | --------------- | ------ | -------- |
| label | 设置分组的文案 | React.ReactNode | -      |          |

### Select.Option

| 参数     | 说明     | 类型                                             | 默认值 | 是否必填 |
| -------- | -------- | ------------------------------------------------ | ------ | -------- |
| value    | 选项值   | string | number | boolean | null | undefined | -      | 是       |
| disabled | 是否禁用 | boolean                                          | -      |          |

### ObjectItem

| 参数        | 说明 | 类型                                             | 默认值 | 是否必填 |
| ----------- | ---- | ------------------------------------------------ | ------ | -------- |
| value       | -    | string | number | boolean | null | undefined | -      |          |
| label       | -    | string | number | boolean                      | -      |          |
| color       | -    | string                                           | -      |          |
| disabled    | -    | boolean                                          | -      |          |
| children    | -    | DataSourceItem\[]                                 | -      |          |
| title       | -    | string                                           | -      |          |
| \_\_isAddon | -    | boolean                                          | -      |          |

### DataSourceItem

```typescript
export type DataSourceItem = ObjectItem | string | boolean | number | null | undefined;
```

### VisibleChangeType

```typescript
export type VisibleChangeType =
    | 'itemClick'
    | 'enter'
    | 'esc'
    | 'keyDown'
    | 'selectAll'
    | 'update'
    | 'change'
    | 'tag';
```

### HighlightChangeType

```typescript
export type HighlightChangeType = 'up' | 'down' | 'autoFirstItem' | 'highlightKeyToNull';
```

## Select/AutoComplete 内部函数 (通过 refs 获取)

| 参数  | 说明                                                                                                                                             | 类型     | 默认值 |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------ |
| focus | 获取焦点<br><br>**签名**:<br> Function(start:Number, end: Number)<br>**参数**:<br>*start*: {Number} 光标起始位置<br>*end*: {Number} 选择结束位置 | Function |        |

## 无障碍键盘操作指南

| 按键       | 说明                 |
| :--------- | :------------------- |
| Up Arrow   | 获取当前项前一项焦点 |
| Down Arrow | 获取当前项后一项焦点 |
| Enter      | 打开列表或选择当前项 |
| Esc        | 关闭列表             |

## 更多示例

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```

```tsx
```
