---
id: "numeric"
title: "数值输入、精度和范围"
category: "输入组件"
document_type: "component-specification"
spec_status: "local-current-draft"
element_ui: "2.15.6"
vue: "2.6.14"
page: "../index.html#spec-numeric"
source_data: "../component-data.json"
official_components: ["input-number"]
template_components: ["el-input-number"]
scenario_count: 11
verification: "scenario-checklist-not-full-test-pass"
---

# 数值输入、精度和范围

专题 `numeric` · 输入组件 · Element UI 2.15.6

## 适用范围与组件映射

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

官方条目映射：`input-number`。

本页模板直接使用的 Element UI 标签：`el-input-number`。

## 通用基线

- 组件库：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`；保留点击热区。
- 本规范库的深色目录、蓝色展示区属于文档排版，不是业务组件颜色或业务导航规范。

## 本页用法与分类

默认用法：普通整数计数可使用带增减按钮的数值输入。本页基础示例为0–10、步长1、整数精度；固定值和比例示例使用独立字符串草稿，真实高精度金额不直接交给基础步进组件计算。

| 区分什么 | 本页内容 | 选用或触发条件 |
| --- | --- | --- |
| 数值含义（用途） | 整数计数、固定值和比例分别有自己的单位及含义。 | 计数采用基础步进；业务需要固定值或比例时使用下方对应分支，切换不得互相覆盖草稿。 |
| 范围、步长、精度（数据约束） | 范围限制可用数值，步长规定每次增减量，精度规定小数位。 | 按字段合同分别传入；本页0–10/步长1及比例0–100%只是示例，不能推广成所有字段规则。 |
| 增减按钮（布局配置） | 两侧、右侧与隐藏增减按钮改变操作布局，不改变数值的业务含义。 | 基础示例默认两侧；右侧适合紧凑排列，只保留输入适合直接填写。三种均已展示，隐藏按钮不代表只读；严格步长另按数据约束选择。 |
| 边界与校验（自动状态） | 到达上下限后相应按钮禁用；业务校验失败才显示错误。 | 基础步进采用组件的取整与范围约束；下方组合按输入结果给出空值、精度或比例错误，二者不能混称同一校验效果。 |

使用边界：不要按外观选金额输入，也不要把组件自动取整当成业务校验报错。

## 组件规则

- **NUMERIC-R01**：数值组件声明最小 / 最大 / 步长 / 精度；不把所有金额统一裁成两位小数。输入过程中允许临时未完成态，提交时验证。
- **NUMERIC-R02**：宽度统一参考输入框专题：短计数可沿用当前常规步进框130px且包含增减按钮；真实金额按已分配内容列和完整数值确定，不按0–10示例推广。金额双输入筛选整项576px含标签及分隔，窄容器按端点分行。
- **NUMERIC-R03**：金额、比例、汇率使用十进制字符串或可靠的十进制处理；展示格式与原始值分离。超长编号不是数字输入。 Element InputNumber 基于 JavaScript Number，高精度金额必须另用字符串输入与十进制处理，不能直接用 InputNumber 充当金额引擎。
- **NUMERIC-R04**：增减按钮到边界禁用。基础步进示例为0–10的整数；下方固定值/比例示例使用独立字符串草稿，并校验非负数、最多两位小数及0–100%的比例范围。业务范围的下限大于上限须明确报错，不能静默交换；这项业务配置校验不由基础步进示例提供。
- **NUMERIC-R05**：【公共用色】颜色仅从公共色值 引用：主色系 3 个基础色值、辅助功能色 3 个、中性色 10 个，共 16 个基础色值。角色可以多个，实际色值复用；不为每个组件、悬停 或不同字段再新增近似颜色。透明效果仅限遮罩 35% 与阴影 12%，从 外壳深色 派生。
- **NUMERIC-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；不通过额外加粗或透明度改变正文轻重。
- **NUMERIC-R07**：【可编辑 / 已填写】白底 白色、正文 正文深灰、边框 边框灰；能输入不等于用主色填满。
- **NUMERIC-R08**：【悬停 / 聚焦】悬停保持 边框灰；鼠标与键盘聚焦均只将现有 1px 边框改为 主题蓝，不增加外圈、阴影或第二层框。
- **NUMERIC-R09**：【错误 / 错误聚焦】边框 错误红；说明 错误红 + 明确错误文案，错误边框优先于蓝色聚焦边框，不叠加第二层外框。
- **NUMERIC-R10**：【只读 / 禁用】只读 白底、正文深灰、边框灰，可选择复制；禁用 浅灰底、禁用灰文字、边框灰，不响应操作。
- **NUMERIC-R11**：【占位 / 加载】占位 禁用灰，标签仍用 正文深灰；加载图标 主题蓝，值仍 正文深灰，不把值改成占位灰。
- **NUMERIC-R12**：【组件边界】仅使用实际存在的组件状态；没有操作能力的内容不添加悬停、选中或禁用变色。
- **NUMERIC-R13**：【叠加优先级】状态叠加规则：禁用阻断交互；输入类控件错误边框覆盖蓝色聚焦边框；输入框不叠加外圈或阴影，其他无边框操作保留键盘焦点提示；选中底覆盖悬停底；只读不等于禁用；加载不等于成功；业务启用/停用的文字结果不等于控件是否可点击。
- **NUMERIC-R14**：输入及选择触发框统一单层矩形：默认 白色 底、正文深灰 14px/400 字、禁用灰 占位、边框灰 边框；聚焦仅原边框 主题蓝，错误 错误红。鼠标点击与键盘进入均不新增外框或阴影。范围日期仅外层容器变边框，内部两个输入不重复画框。
- **NUMERIC-R15**：输入类反馈成组同步：普通聚焦仅原边框改为主题蓝，普通说明保持辅助深灰；校验失败时边框与就近错误短提示使用错误红，若配置错误图标也同步使用错误红。错误清除时相关视觉与 aria-invalid 一起恢复；不能仅因聚焦就报错，禁用后不触发新校验。当前基础示例不强制增加错误图标，错误含义必须有文字表达。
- **NUMERIC-R16**：输入族统一直角 0px：普通输入、密码、文本域、自动补全、单选/多选触发框、级联、日期/时间与范围、数字输入及前后缀组合输入；默认/聚焦/错误/只读/禁用均不改变圆角。组合输入外侧和拼接处均不保留小圆角，弹出面板的圆角由面板规范独立定义。
- **NUMERIC-R17**：条件改变后，只让当前有效分支参与校验与提交；隐藏或禁用的字段不能带着旧值误提交。各分支草稿分别保留，切换时清除过期错误；清除整组时一并清除草稿。
- **NUMERIC-R18**：数值与单位分离；比例、固定值分别定义精度和范围，不因为共用输入外观而复用业务值。本示例的0–100%与两位小数仅用于演练；实际单位、上限和金额精度必须由业务定义。
- **NUMERIC-R19**：数值输入支持两侧增减、右侧增减和隐藏增减按钮；布局不改变最小值、最大值、步长与精度，隐藏按钮也不是只读。
- **NUMERIC-R20**：严格步长会限制可提交值落在指定步长上；精度限制小数位。它们是数据规则，不是外观样式，必须明确单位及允许范围。

## 场景与验收清单

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

- [ ] **NUMERIC-S01**：当前基础示例为整数0–10、步长1和两侧增减；补充示例有右侧增减、只保留输入、严格步长2与两位小数时长。下方固定值/比例使用独立草稿。按钮布局与数据约束分别选择，不作为可任意替换的业务类型。
- [ ] **NUMERIC-S02**：上下限 / 空输入 / 非法输入 / 科学计数法 / 负数 / 超出安全整数
- [ ] **NUMERIC-S03**：高精度资金字段不使用 JS Number 做真实计算
- [ ] **NUMERIC-S04**：本页核对数值步进的默认、焦点、上下限禁用和固定值/比例组合的错误提示；只有当前业务分支参与校验，不把列表选中或半选规则套到数值输入。
- [ ] **NUMERIC-S05**：核对正文14/400、次级操作12/400、标题600及同色深正文；检查实际弹出层和子 span，不能只检查父元素。
- [ ] **NUMERIC-S06**：验证完整反馈组合：默认→聚焦→失败→再次聚焦→有效纠正→恢复；检查边框、提示、图标和 aria-invalid 一起变化。
- [ ] **NUMERIC-S07**：检查输入族四角及组合拼接处为0px，包含默认、聚焦、错误、禁用和只读状态。
- [ ] **NUMERIC-S08**：固定值/比例分别输入并来回切换；空值/负数/超精度/比例超上限错误；单位不进入原始数值。
- [ ] **NUMERIC-S09**：宿主联合表单接入后验收：输入、下拉、文本域和数字各自校验；修正一项只清除对应错误，错误状态再次聚焦仍无外圈。当前专题基础示例不等于完整业务表单。
- [ ] **NUMERIC-S10**：宽度联动验收：按输入框专题核对整项与边框口径、同组对齐、长内容、窄容器换行及状态不跳宽。
- [ ] **NUMERIC-S11**：核对两侧、右侧和纯输入布局，以及严格步长与两位精度；各组值独立，0与10边界限制生效。

### 专题验收重点

基础步进检查0和10的边界、输入后的取整与范围约束；空值与非法文本检查组件实际回显，不把自动约束宣称为业务错误提示。下方组合示例检查空值、负数、超精度与比例超100时的红色提示，以及切换后各分支草稿独立保留。 补充示例核对右侧增减、隐藏按钮、严格步长2和步长0.25/两位精度的独立值及边界，不相互覆盖。

## 当前示例模板

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

```html
<label class="audit-number-field">
<span class="audit-field-label">整数值（0–10）</span>
<el-input-number v-model="numberValue" :min="0" :max="10" :step="1" :precision="0" label="整数值 0 到 10">
</el-input-number>
</label>
<p class="help">范围 0–10，步长 1；当前 {{ numberValue }}</p>
<!-- reference-pattern-numeric-mode-pattern -->
<section class="reference-supplement">
<h4>固定值、比例与单位</h4>
<numeric-mode-pattern>
</numeric-mode-pattern>
<p class="reference-note">参考截图用于提取场景结构；切换、校验、撤销等演示行为按本规范定义。<a href="https://wt37gq.axshare.com/#g=1&amp;id=i50z9y&amp;p=首存活动" target="_blank" rel="noopener noreferrer">查看参考页</a>
</p>
</section>
<official-number-types>
</official-number-types>
```

## 交付与使用边界

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

## 来源与关联

- 来源线索：本次补充；2026-09-15 参考抽样：https://wt37gq.axshare.com/#g=1&id=i50z9y&p=首存活动。
- [打开本专题页面](../index.html#spec-numeric)
- [通用基线](FOUNDATIONS.md)
- [规范总索引](README.md)
- [结构化规范数据](../component-data.json)（记录 id：`numeric`）
- [原始历史样板](../original-20260621.html)
- [历史规范条目](../spec-notes.json)

自定义示例 `official-number-types` 的实现：[official-types.js](../official-types.js)。

自定义示例 `numeric-mode-pattern` 的实现：[reference-patterns.js](../reference-patterns.js)。

组合样式见 [reference-patterns.css](../reference-patterns.css)；来源及扩展范围见 [参考补充记录](../reference-supplements.md)。

## 本组件颜色状态表

| 状态 / 条件 | 统一规则 |
| --- | --- |
| 可编辑 / 已填写 | 白底 白色、正文 正文深灰、边框 边框灰；能输入不等于用主色填满。 |
| 悬停 / 聚焦 | 悬停保持 边框灰；鼠标与键盘聚焦均只将现有 1px 边框改为 主题蓝，不增加外圈、阴影或第二层框。 |
| 错误 / 错误聚焦 | 边框 错误红；说明 错误红 + 明确错误文案，错误边框优先于蓝色聚焦边框，不叠加第二层外框。 |
| 只读 / 禁用 | 只读 白底、正文深灰、边框灰，可选择复制；禁用 浅灰底、禁用灰文字、边框灰，不响应操作。 |
| 占位 / 加载 | 占位 禁用灰，标签仍用 正文深灰；加载图标 主题蓝，值仍 正文深灰，不把值改成占位灰。 |

固定值与比例是业务用途，范围/步长/精度是数据约束；焦点、边界禁用及校验失败是条件触发的状态，不能按外观任选。

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

## 业务落地场景

- [活动管理 · 编辑活动 · 排序](../../showcase/index.html?example=numeric#campaigns) · [场景文档](../../showcase/docs/campaigns.md)
- [广告管理 · 新增/编辑广告 · 排序](../../showcase/index.html?example=advert-editor#adverts) · [场景文档](../../showcase/docs/adverts.md)
- [客服工单管理 · 无订单存款工单 · 金额输入](../../showcase/index.html?example=ticket-create#tickets) · [场景文档](../../showcase/docs/tickets.md)

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