Appearance
BizAmountKeyboard 金额数字键盘
金额数字键盘:显示区实时千分位预览(空时 0.00 灰字占位)+ 右侧「清空」;4 列键盘(1-9 / . / 0 / 00 / 退格 / 清空 / 确认跨两行)。严格输入规则:前导 0 唯一(0 后只能输 .)、小数点唯一、小数位满 decimal-length 追加忽略、整数位达 integer-limit 截断 + error + 抖动、00 键超限截断;max-amount 输入中超限红字提示、确认时抖动拦截。支持 inline 直接渲染 / popup 底部弹层(Teleport + slide-up)、random-keys 数字乱序防偷窥。收银台、转账金额录入、POS 收款等触屏场景。
基础用法
金额输入
0.00元
原始值(v-model):(空)(非千分位,如 1234.5)
底部弹层
已录入金额:(空)
乱序防偷窥
金额输入
0.00元
数字 1-9 位置随机洗牌(0 / 00 / . 固定);popup 模式下每次打开弹层还会重新洗牌。
输入校验
金额输入
0.00元
整数位上限 5 位:第 6 位数字被截断并抖动;金额上限 99,999 元:输入中超限红字提示,确认时抖动拦截。
最近一次 error:(无)
确认结果:(未确认)
小数位数
0 位小数(「.」键禁用):(空)
金额输入
0元
1 位小数:(空)
金额输入
0.0元
3 位小数:(空)
金额输入
0.000元
素色主题
金额输入
0.00元
plain 主题:白底描边按键,悬浮主题色描边,适配浅色表单内嵌场景;当前值:(空)
自定义显示区
金额输入
充值金额0.00CNY
toolbar 插槽:单笔充值限额 50,000 元,请核对后确认
事件
金额输入
0.00元
input 轨迹(最近 8 次):(无)
confirm:(未确认)
最近一次 error:(无)
自定义文案
转入金额(元)
0.00元
title「转入金额(元)」、确认键文案「下一步」;当前值:(空)
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| v-model | string | number | '' | 金额原始字符串(非千分位,如 '1234.5') |
| mode | 'inline' | 'popup' | 'inline' | 展示模式:直接渲染 / 底部弹层 |
| v-model:visible | boolean | false | popup 模式弹层开关 |
| title | string | '金额输入' | 标题(popup 头部 / inline 标签行) |
| decimal-length | number | 2 | 小数位数 0~3;0 时 . 键禁用 |
| integer-limit | number | 7 | 整数位上限;超限截断 + error + 抖动 |
| max-amount | number | — | 金额上限(元);确认超限拦截 |
| random-keys | boolean | false | 数字 1-9 乱序(防偷窥) |
| theme | 'default' | 'plain' | 'default' | 素色描边主题 |
| confirm-text | string | '确认' | 确认键文案 |
| disabled | boolean | false | 禁用全部按键 |
Events
| 事件名 | 参数 | 说明 |
|---|---|---|
| update:modelValue | (value: string) | 金额变化(原始字符串) |
| input | (value: string) | 每次输入变化(原始字符串,非千分位) |
| confirm | (value: string) | 确认(超限时拦截不触发) |
| error | (err: { type: 'integer-limit' | 'decimal-limit' | 'max-amount'; message: string }) | 校验错误 |
| update:visible | (value: boolean) | popup 弹层开关变化 |
Slots
| 插槽名 | 参数 | 说明 |
|---|---|---|
| display | { amount: string, display: string, overLimit: boolean } | 替换金额显示区 |
| toolbar | — | 键盘下方扩展条 |
Expose
| 名称 | 类型 | 说明 |
|---|---|---|
| open / close | () => void | popup 弹层开合控制 |
| clear | () => void | 清空当前金额 |
| getValue | () => string | 取当前金额原始字符串(非千分位) |