子沐君
子沐君
  • 发布:2025-04-03 10:45
  • 更新:2025-04-03 10:45
  • 阅读:10

【报Bug】inpu输入number限制两位小数失效(更改不了e.detail.value的值)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10

HBuilderX类型: 正式

HBuilderX版本号: 4.57

手机系统: Android

手机系统版本号: Android 15

手机厂商: 华为

手机机型: 暂未看手机

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
 <input  

            class="price-amount"  
            v-model="inputMoney"  
            type="number"  
            placeholder="请输入金额"  
            @input="handleMoneyInput"  
            @blur="handleMoneyBlur"  
          />
    const handleMoneyInput = (e) => {  
        // 输入的值  
        let value = e.detail.value;  
        console.log("正在输入:", value);  

        // 实时截断多余小数位  
        if (value.includes(".")) {  
            let parts = value.split(".");  
            if (parts[1].length > 2) {  
                console.log('两位小数', value);  
                // 截断到两位小数  
                inputMoney.value = parts[0] + "." + parts[1].substring(0, 2);  
                console.log('inputMoney', inputMoney);  
                e.detail.value = inputMoney.value // 正常这里e.detail.value的值应该改变了,但页面显示还是可以输入其他的值  
            }  
        }  
    };

操作步骤:

请看附件代码

预期结果:

输入能限制小数位

实际结果:

输入不能限制小数位

bug描述:

你好,问题如下:
input输入框,type="number",限制输入金额小数位数(两位),e.detail.value = inputMoney.value赋值之后还是没用。详情看代码、视频。

主要问题在e.detail.value = inputMoney.value // 正常这里e.detail.value的值应该改变了,但页面显示还是可以输入其他的值。

我在vite搭建的vue3项目中也使用input,同样的,但这边当然可以限制小数位(改变它的值)。
请检查下呢

2025-04-03 10:45 负责人:无 分享
已邀请:

要回复问题请先登录注册