下拉选择
Select
UI 组件也叫:下拉框、下拉列表、选择器、Dropdown、Combobox
一句话:点击后展开选项列表,从中选一项或多项,收起时只占一个输入框的位置,适合选项较多的情况。
详细解释
下拉选择收起时像一个输入框,右侧有向下的小箭头,显示当前选中的值;点开后弹出选项列表,选中后自动收起。选项很多时可以加搜索过滤,也可以开启多选,选中的值以带 × 的小标签排在框里。
它常和 下拉菜单 搞混:下拉选择是表单控件,用来「选一个值」并保存下来;下拉菜单是一组操作命令,点了立即执行,比如编辑、删除、导出。和 单选框 相比,下拉选择把选项藏起来,省空间但要多点一下,选项只有 2~5 个时,平铺的单选框更直观。选项有省、市、区这样的层级时,用 级联选择。
示例
灰度线框示意,只表达结构,不代表具体视觉风格。
怎么跟 AI 说
可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。
「所在城市」用下拉选择,收起时显示占位提示「请选择城市」,右侧有向下箭头。点开后在下方弹出最多 8 行高的选项列表,超出可滚动,顶部带搜索框可输入过滤,当前选中项高亮并带对勾,选中后自动收起并显示城市名。
结构与适用场景
结构描述
由显示当前值的选择框、右侧下拉箭头和点击后弹出的选项列表组成,列表顶部可以带搜索框。
适用场景
- 选项在 6 个以上、平铺出来太占地方,比如城市、国家、部门
- 表单空间有限,需要用一个框的位置收纳一组固定选项
- 选项很多、需要边输入边过滤,比如从上百个员工里选负责人
不适用场景
- 选项只有 2~5 个、希望用户一眼看到全部选项时,应该用单选框
- 点了之后要立即执行操作而不是选一个值,比如导出、删除,应该用下拉菜单
- 只有开和关两种状态时,应该用开关
- 选项有省、市、区这样的层级关系时,应该用级联选择
常见坏用法
- 只有「男 / 女」两个选项也做成下拉,多点一次还看不到全部选项
- 几百个选项的长列表不带搜索,用户只能慢慢滚动去找
- 把编辑、删除、导出这类操作做成下拉选择,选完还要再点确定
识别特征
- 像输入框的矩形,右侧有向下的小箭头
- 展开时下方出现带阴影的浮层列表,当前项高亮或带对勾
- 多选时框内是一个个带 × 的小标签
DOM 线索
插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。
select[role="combobox"]:not(input).ant-select.el-select[class*="MuiSelect-select"].arco-select.t-select.n-select[data-slot="select-trigger"].form-select