Select 选择列表
选择列表:可点选的选项集合,既是 Dropdown 等浮层组件的内层列表,也可单独使用。选项数据约定见选择与选项。
单独使用时如何交互
对齐原版 SelectWidget,本组件根元素缺省不可聚焦(不进 Tab 序),因此更适合鼠标点选。需要键盘可达的单选/多选,请优先使用 Dropdown、RadioSelect、ButtonSelect 等把焦点管理做好的组件,它们都以 Select 为内层。作为浮层内层时,键盘导航由外层触发元素统一管理,无需你操心。
基本用法
当前值:apple
onChange 与 onChoose
两个“选定”回调分工不同:
onChange:选中值发生变化时触发,重复点选当前项不触发。onChoose:每一次选定(点击 / 拖拽 / Enter)都触发,含重复选定。浮层组件用它来实现“选定后立即收起”。
命令菜单形态
clearOnChoose 为 true 时,选定只触发 onChoose、不改变选中值——展示上从不出现“已选中某项”,适合做点了就执行、不保留选中态的命令菜单。
点击任意命令(不会有选中态)
分组标题
选项数组里不带 value 的项渲染为分组标题,不可选中、不参与键盘导航。
键盘导航开关
作为浮层内层时键盘导航由外层驱动。单独使用且已让列表获得焦点的场景下:
handleNavigationKeys:是否处理 Home / End / PageUp / PageDown。listWrapsAround:方向键导航到端点后是否环绕(默认true)。- 前缀跳转:列表获得焦点后直接键入字符,按选项文本的前缀循环跳转(1.5 秒缓冲)。
- 悬停高亮:鼠标悬停的选项成为高亮项,鼠标移开后清除(与键盘高亮共用同一状态)。
API
组件没有 children 写入位置,选项全部由 options 声明。