hookehuyr

fix(plan): 修复 AmountKeyboard 组件取消操作显示异常并优化输入体验

Bug 修复:
- 修复点击遮罩关闭后显示 "123." 等不完整值的问题
- 在 watch(showKeyboard) 中添加逻辑,键盘关闭时清除临时输入值
- 优化 displayValue 计算属性,确保始终显示格式化后的金额

用户体验优化:
- 添加输入限制的震动反馈(Taro.vibrateShort)
- 添加 Toast 轻提示提示用户输入限制
- 重复输入小数点时提示"只能输入一个小数点"
- 超过2位小数时提示"最多只能输入2位小数"

影响文件:
- src/components/PlanFields/AmountKeyboard.vue

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
......@@ -401,8 +401,13 @@ const openKeyboard = () => {
const onInput = (val) => {
// 如果输入的是小数点,检查是否已经有小数点
if (val === '.' && inputValue.value.includes('.')) {
// 震动反馈提示
// 震动反馈 + Toast 提示
Taro.vibrateShort({ type: 'light' })
Taro.showToast({
title: '只能输入一个小数点',
icon: 'none',
duration: 1500
})
return
}
......@@ -411,8 +416,13 @@ const onInput = (val) => {
const parts = inputValue.value.split('.')
// 如果已经有小数点,并且小数点后有2位,则忽略输入并震动提示
if (parts.length === 2 && parts[1]?.length >= 2) {
// 震动反馈提示已达到最大位数
// 震动反馈 + Toast 提示已达到最大位数
Taro.vibrateShort({ type: 'light' })
Taro.showToast({
title: '最多只能输入2位小数',
icon: 'none',
duration: 1500
})
return
}
}
......