---
id: "multi"
title: "多选、搜索与折叠展示"
category: "选择组件"
document_type: "component-specification"
spec_status: "local-current-draft"
element_ui: "2.15.6"
vue: "2.6.14"
page: "../index.html#spec-multi"
source_data: "../component-data.json"
official_components: []
template_components: ["el-option", "el-select"]
scenario_count: 8
verification: "scenario-checklist-not-full-test-pass"
---

# 多选、搜索与折叠展示

专题 `multi` · 选择组件 · Element UI 2.15.6

## 适用范围与组件映射

公共色板及字体基线适用于整个运营后台。本库整理基础组件、组件状态和可复用的组合模式；本轮补齐表单整体验证、页面布局和导航组合；具体业务字段与跨页流程仍在业务场景中说明。专题验收清单包含接入要求，不表示当前示例已实现或已验证全部场景。

本专题为基础规则、同一组件的补充场景或组合模式，不作为独立的 Element UI 官方组件声明。

本页模板直接使用的 Element UI 标签：`el-option`、`el-select`。

## 通用基线

- 组件库：Element UI **2.15.6**；运行样例 Vue **2.6.14**。
- 系统中文字体：macOS 优先苹方，Windows 通常微软雅黑；工程顺序固定为 `"PingFang SC", "Microsoft YaHei", sans-serif`。不要求安装或加载网络字体，兼容回退不是另一套可选样式。
- 后续仅采用经验证且固定版本的兼容 Element UI 2.x；Element Plus 属于独立迁移路线。
- 正文、数据值、输入及已选值：`14px / 400 / 21px`，`#303133`。
- 表头及组件分组标题：`14px / 600 / 21px`；弹窗标题：`16px / 600 / 24px`，均使用 `#303133`。
- 辅助说明：`12px / 400 / 18px`，`#595959`；错误、链接、状态、禁用与占位按各自语义处理。
- 适用组件的默认尺寸为 `small / 32px`；不得将这一高度机械应用于表格、文本域、浮层等全部组件。
- 规范正文与场景说明使用 `14px / 400 / 24px`、`#303133`，不降成灰蓝小字。
- 筛选文本输入占位统一“请输入”；未选择下拉统一“请选择”；默认全部的下拉显示“全部”。字段标签保留业务含义；日期保留开始/结束语义。
- 次级文字操作（查看更多、编辑、详情、数据中心、更多）：`12px / 400 / 18px`，`#3377BB`；保留点击热区。
- 本规范库的深色目录、蓝色展示区属于文档排版，不是业务组件颜色或业务导航规范。

## 本页用法与分类

默认用法：多个值允许同时成立时使用多选下拉。本页采用本地搜索、清除和已选标签折叠；下方“已选”文字用于核对完整选择集合。

| 区分什么 | 本页内容 | 选用或触发条件 |
| --- | --- | --- |
| 多值选择（用途） | 一次保存多个独立选择，已选标签代表值。 | 仅允许一个值时用单选；普通业务状态不放进已选标签集合。 |
| 搜索与清除（功能配置） | 搜索缩小候选范围；关闭一项或清空改变选择集合。 | 本页支持这些功能；搜索无匹配也保留已选项，取消一项不影响其他项。 |
| 标签折叠（展示配置） | 折叠只减少输入框内展示的标签数量。 | 本页已启用折叠，保留首项并将其余数量记为+N；这不是按容器宽度临时选择的另一种样式。 |
| 已选、无匹配与禁用（自动状态） | 候选高亮和无匹配随选择/搜索产生，禁用由限制条件决定。 | 按真实结果显示；无匹配不等于请求失败。本页没有远程请求、创建新项或分组全选控件。 |

使用边界：不要把+N当成第三种多选皮肤，也不要把取消已选标签标成删除业务记录。

## 组件规则

- **MULTI-R01**：多选允许多个值并存；标签用于已选项，不代替业务状态。本页已启用标签折叠：保留首项，其余数量显示为+N；折叠不改变已选集合，也不是由容器宽度自动切换。
- **MULTI-R02**：触发框宽度统一参考输入框专题，不随已选数量增长而横向撑开。当前+N折叠在既定内容列内展示；未折叠模式如需接入，应让标签换行并按高度规则增长，不能另加输入宽度。
- **MULTI-R03**：搜索只过滤候选项，不清空已选值；无匹配显示明确结果。隐藏候选仍保留选择。
- **MULTI-R04**：移除只影响该项；标签关闭按钮有名称。组件允许清除能力，不强制给所有业务增加“清空”工具栏。
- **MULTI-R05**：【公共用色】颜色仅从公共色值 引用：主色系 3 个基础色值、辅助功能色 3 个、中性色 10 个，共 16 个基础色值。角色可以多个，实际色值复用；不为每个组件、悬停 或不同字段再新增近似颜色。透明效果仅限遮罩 35% 与阴影 12%，从 外壳深色 派生。
- **MULTI-R06**：【统一字体】统一系统中文字体：macOS 优先苹方（PingFang SC），Windows 通常使用微软雅黑（Microsoft YaHei）；工程顺序固定为 "PingFang SC", "Microsoft YaHei", sans-serif。使用设备已有字体，不要求安装或加载网络字体；最后一项仅作兼容回退，不是供页面作者任选的另一套样式。正文 14px/400/21px；表头与分组标题 14px/600/21px，弹窗标题 16px/600/24px；次级文字操作和辅助说明 12px/400/18px。正文与标题同用 #303133；不通过额外加粗或透明度改变正文轻重。
- **MULTI-R07**：【叠加优先级】状态叠加规则：禁用阻断交互；输入类控件错误边框覆盖蓝色聚焦边框；输入框不叠加外圈或阴影，其他无边框操作保留键盘焦点提示；选中底覆盖悬停底；只读不等于禁用；加载不等于成功；业务启用/停用的文字结果不等于控件是否可点击。
- **MULTI-R08**：输入及选择触发框统一单层矩形：默认 白色 底、正文深灰 14px/400 字、禁用灰 占位、边框灰 边框；聚焦仅原边框 主题蓝，错误 错误红。鼠标点击与键盘进入均不新增外框或阴影。范围日期仅外层容器变边框，内部两个输入不重复画框。
- **MULTI-R09**：输入类反馈成组同步：普通聚焦仅原边框改为主题蓝，普通说明保持辅助深灰；校验失败时边框与就近错误短提示使用错误红，若配置错误图标也同步使用错误红。错误清除时相关视觉与 aria-invalid 一起恢复；不能仅因聚焦就报错，禁用后不触发新校验。当前基础示例不强制增加错误图标，错误含义必须有文字表达。
- **MULTI-R10**：输入族统一直角 0px：普通输入、密码、文本域、自动补全、单选/多选触发框、级联、日期/时间与范围、数字输入及前后缀组合输入；默认/聚焦/错误/只读/禁用均不改变圆角。组合输入外侧和拼接处均不保留小圆角，弹出面板的圆角由面板规范独立定义。
- **MULTI-R11**：【触发框与标签】白底、正文深灰、边框灰；聚焦仅原边框主题蓝；已选标签使用选中浅蓝底和操作蓝文字。
- **MULTI-R12**：【候选项】普通项正文深灰，悬停或键盘定位浅灰背景；已选项选中浅蓝底、操作蓝文字并保留已选标记。
- **MULTI-R13**：【移除与清空】关闭选择标签表示取消该选择，使用普通操作蓝；不是删除已保存业务对象，不自动套用错误红危险动作。
- **MULTI-R14**：【禁用】控件或具体选项禁用使用禁用灰，已选标签保留内容；禁用项不可关闭，不能因搜索变回可选。
- **MULTI-R15**：【错误与查询】校验失败时触发框和短提示同步错误红；无匹配为空值灰，远程加载用主题蓝图标，失败才用错误红。
- **MULTI-R16**：【组件边界】多选下拉以标签和已选标记表达多个值；只有另设分组全选复选框才存在半选，不给每个已选标签加半选横线。

## 场景与验收清单

以下为需核对的场景组；`[ ]` 不代表已经测试通过。

- [ ] **MULTI-S01**：当前示例核对单项、多项与+N折叠展示；最大可选数量和创建新选项未在本页配置，不计为已采用功能。
- [ ] **MULTI-S02**：当前示例核对删除单项、清空、退格删除与搜索后保留选择；不可删除项仅在宿主实际配置后验收。
- [ ] **MULTI-S03**：接入验收：长标签与重名不同标识；若业务另加全选，须明确作用域及过滤后的选择语义。本页没有分组全选控件，不把半选作为多选标签的样式。
- [ ] **MULTI-S04**：本页核对触发框焦点、选项已选与悬停、已选标签和清空反馈；业务必填错误及禁用条件在宿主接入后验收，不把标签折叠视为半选状态。
- [ ] **MULTI-S05**：核对正文14/400、次级操作12/400、标题600及同色深正文；检查实际弹出层和子 span，不能只检查父元素。
- [ ] **MULTI-S06**：宿主接入多选必填等校验后，核对失败、再次聚焦、有效纠正和恢复，边框/提示/aria-invalid同步。当前本地多选示例没有独立业务校验流程。
- [ ] **MULTI-S07**：检查输入族四角及组合拼接处为0px，包含默认、聚焦、错误、禁用和只读状态。
- [ ] **MULTI-S08**：宽度联动验收：按输入框专题核对整项与边框口径、同组对齐、长内容、窄容器换行及状态不跳宽。

### 专题验收重点

选中后搜索无结果，选择仍在；移除一项不丢其他项。

## 当前示例模板

以下来自本专题的结构化示例，使用 Vue 2 模板语法。`v-model`、事件方法、数据列表等依赖 [components.js](../components.js)；完整样式文件及加载顺序见 [通用基线](FOUNDATIONS.md)。自定义组合标签的内部实现由下方依赖文件提供，不能仅复制标签作为完整组件。

```html
<label for="spec-multi-value" class="audit-field-label">选择多个候选项</label>
<el-select v-model="multiValues" id="spec-multi-value" multiple filterable collapse-tags clearable placeholder="请选择" aria-label="多选候选项" data-ui-search-label="搜索多选候选项">
<el-option v-for="item in multiOptions" :key="item" :label="item" :value="item">
</el-option>
</el-select>
<p class="help">已选：{{ multiValues.join(' / ') || '无' }}</p>
```

## 交付与使用边界

- 规范条款、示例代码与待验收场景分开理解；有示例不等于已覆盖所有样式、交互状态和使用场景。
- 业务接口、权限、时区、金额精度、数据规模等依赖应从实际项目读取，不使用演示值代替生产约定。
- 发生样式或文案变更时，同步专题数据、页面与 Markdown，避免规范和样例分离。

## 来源与关联

- 来源线索：历史样板规范 30；本次交互补全。
- [打开本专题页面](../index.html#spec-multi)
- [通用基线](FOUNDATIONS.md)
- [规范总索引](README.md)
- [结构化规范数据](../component-data.json)（记录 id：`multi`）
- [原始历史样板](../original-20260621.html)
- [历史规范条目](../spec-notes.json)

## 本组件颜色状态表

| 状态 / 条件 | 统一规则 |
| --- | --- |
| 触发框与标签 | 白底、正文深灰、边框灰；聚焦仅原边框主题蓝；已选标签使用选中浅蓝底和操作蓝文字。 |
| 候选项 | 普通项正文深灰，悬停或键盘定位浅灰背景；已选项选中浅蓝底、操作蓝文字并保留已选标记。 |
| 移除与清空 | 关闭选择标签表示取消该选择，使用普通操作蓝；不是删除已保存业务对象，不自动套用错误红危险动作。 |
| 禁用 | 控件或具体选项禁用使用禁用灰，已选标签保留内容；禁用项不可关闭，不能因搜索变回可选。 |
| 错误与查询 | 校验失败时触发框和短提示同步错误红；无匹配为空值灰，远程加载用主题蓝图标，失败才用错误红。 |

多选下拉以标签和已选标记表达多个值；只有另设分组全选复选框才存在半选，不给每个已选标签加半选横线。

[公共颜色与字体 token](../color-tokens.json) · [公共组件样式](../color-contract.css) · [系统字体合同（最后加载）](../font-contract.css)

## 业务落地场景

- [会员列表 · 筛选区会员标签等多选条件](../../showcase/index.html#members) · [场景文档](../../showcase/docs/members.md)
- [新增账号 · 新增总代 · 多币种/终端选择](../../showcase/index.html#create-account) · [场景文档](../../showcase/docs/create-account.md)
- [活动管理 · 编辑活动 · 参与范围/标签多选](../../showcase/index.html#campaigns) · [场景文档](../../showcase/docs/campaigns.md)

[竞品组件拆解](../../reference-review/竞品组件反推规范.html) · [业务场景分类](../../业务场景分类清单.md)
