2.7 KiB
2.7 KiB
| category | type | title | subtitle | cover |
|---|---|---|---|---|
| Components | 数据录入 | InputNumber | 数字输入框 | https://gw.alipayobjects.com/zos/alicdn/XOS8qZ0kU/InputNumber.svg |
通过鼠标或键盘,输入范围内的数值。
何时使用
当需要获取标准数值时。
API
属性如下
| 成员 | 说明 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| autofocus | 自动获取焦点 | boolean | false | |
| defaultValue | 初始值 | number | ||
| disabled | 禁用 | boolean | false | |
| formatter | 指定输入框展示值的格式 | function(value: number | string, info: { userTyping: boolean, input: string }): string | - | info: 3.0 |
| max | 最大值 | number | Infinity | |
| min | 最小值 | number | -Infinity | |
| parser | 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 | function( string): number | - | |
| precision | 数值精度 | number | - | |
| decimalSeparator | 小数点 | string | - | |
| size | 输入框大小 | string | 无 | |
| step | 每次改变步数,可以为小数 | number|string | 1 | |
| value(v-model) | 当前值 | number | ||
| bordered | 是否有边框 | boolean | true | 3.0 |
| addonAfter | 带标签的 input,设置后置标签 | slot | - | 3.0 |
| addonBefore | 带标签的 input,设置前置标签 | slot | - | 3.0 |
| controls | 是否显示增减按钮 | boolean | true | 3.0 |
| keyboard | 是否启用键盘快捷行为 | boolean | true | 3.0 |
| stringMode | 字符值模式,开启后支持高精度小数。同时 change 事件将返回 string 类型 |
boolean | false | 3.0 |
| controls | 是否显示增减按钮 | boolean | true | 3.0 |
| prefix | 带有前缀图标的 input | slot | - | 3.0 |
事件
| 事件名称 | 说明 | 回调参数 | 版本 |
|---|---|---|---|
| change | 变化回调 | Function(value: number | string) | |
| pressEnter | 按下回车的回调 | function(e) | |
| step | 点击上下箭头的回调 | (value: number, info: { offset: number, type: 'up' | 'down' }) => void | 3.0 |
方法
| 名称 | 描述 |
|---|---|
| blur() | 移除焦点 |
| focus() | 获取焦点 |
FAQ
为何受控模式下,value 可以超出 min 和 max 范围?
在受控模式下,开发者可能自行存储相关数据。如果组件将数据约束回范围内,会导致展示数据与实际存储数据不一致的情况。这使得一些如表单场景存在潜在的数据问题。
为何动态修改 min 和 max 让 value 超出范围不会触发 change 事件?
change 事件为用户触发事件,自行触发会导致表单库误以为变更来自用户操作。我们以错误样式展示超出范围的数值。