uni-app inpu输入number限制两位小数失效(更改不了e.detail.value的值)
uni-app inpu输入number限制两位小数失效(更改不了e.detail.value的值)
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | window10 | HBuilderX |
产品分类: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的值应该改变了,但页面显示还是可以输入其他的值
}
}
};
更多关于uni-app inpu输入number限制两位小数失效(更改不了e.detail.value的值)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app inpu输入number限制两位小数失效(更改不了e.detail.value的值)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,直接修改e.detail.value
是无效的,因为这是只读属性。正确的做法是通过v-model绑定的变量来控制输入值。以下是修改建议:
<input
class="price-amount"
v-model="inputMoney"
type="number"
placeholder="请输入金额"
@input="handleMoneyInput"
@blur="handleMoneyBlur"
/>
const handleMoneyInput = (e) => {
let value = e.detail.value;
if (value.includes(".")) {
let parts = value.split(".");
if (parts[1].length > 2) {
// 直接修改绑定的变量
inputMoney.value = parts[0] + "." + parts[1].substring(0, 2);
}
}
};