日暮苍山远
日暮苍山远
  • 发布:2024-02-28 18:02
  • 更新:2024-02-28 18:30
  • 阅读:466

【报Bug】uni-easyinput type="digit" 运行到安卓基座上时只能输入一个小数点

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: mate20 pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 5.0.8

示例代码:

<uni-forms-item label="服务器IP" name="ip" required>
<uni-easyinput type="digit" v-model="serverForm.ip" placeholder="请输入服务器IP" :inputBorder="false" />
</uni-forms-item>

操作步骤:

正常输入并输入类似ip等包含多个小数点的文字

预期结果:

正常可以输入多个小数点

实际结果:

只能输入一个小数点

bug描述:

uni-ui
uni-easyinput type="digit" 运行到安卓基座上时只能输入一个小数点(uni-ui通过npm安装,版本是1.4.28)
输入第二个小数点以后再输入数字,小数点会被替换掉

2024-02-28 18:02 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

uni-easyinput的 digit 类型是数字输入框 数字只能有一个小数点 而你要用的是ip输入 有多个小数点 说明这个组件并不适用于你现在的需求 而不是组件的bug
你可以使用正则来修改你输入的值 实现ip输入的效果 或者 去插件市场搜索适用你需求的插件

<template>  
    <view >  
        <input v-model="inputText" @input="inputChange($event)" />  
        <uni-easyinput  v-model="easyinputText" @input="easyinputChange" />  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                inputText: '',  
                easyinputText:''  
            }  
        },  
        methods: {  
            easyinputChange(e) {  
                this.$nextTick(() => {  
                    this.easyinputText = e.replace(/[^\d.]/g, '');  
                })  
            },  
            inputChange(e) {  
                this.$nextTick(() => {  
                     this.inputText = e.detail.value.replace(/[^\d.]/g, '');    
                })  
            },  
        }  
    }  
</script>
  • 日暮苍山远 (作者)

    是这样啊,谢谢,因为在微信小程序上是可以输入多个小数点的。所以我以为在app上也可以

    2024-02-29 08:31

要回复问题请先登录注册