uni-app uni-easyinput type="digit" 在安卓基座上运行时只能输入一个小数点
uni-app uni-easyinput type=“digit” 在安卓基座上运行时只能输入一个小数点
示例代码:
<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)
输入第二个小数点以后再输入数字,小数点会被替换掉

| 项目信息       | 值           |
|----------------|--------------|
| 产品分类       | uniapp/App   |
| PC开发环境操作系统 | Windows      |
| PC开发环境操作系统版本号 | windows11    |
| 手机系统       | Android      |
| 手机系统版本号  | Android 14   |
| 手机厂商       | 华为         |
| 手机机型       | mate20 pro   |
| 页面类型       | vue          |
| vue版本        | vue3         |
| 打包方式       | 云端         |
| 项目创建方式    | CLI          |
| CLI版本号      | 5.0.8        |
更多关于uni-app uni-easyinput type="digit" 在安卓基座上运行时只能输入一个小数点的实战教程也可以访问 https://www.itying.com/category-93-b0.html
uni-easyinput的 digit 类型是数字输入框 数字只能有一个小数点 而你要用的是ip输入 有多个小数点 说明这个组件并不适用于你现在的需求 而不是组件的bug
你可以使用正则来修改你输入的值 实现ip输入的效果 或者 去插件市场搜索适用你需求的插件
<template>
<view >
<input v-model=“inputText” @input=“inputChange($event)” />
<uni-easyinput  v-model=“easyinputText” @input=“easyinputChange” />
</view>
</template>
更多关于uni-app uni-easyinput type="digit" 在安卓基座上运行时只能输入一个小数点的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是这样啊,谢谢,因为在微信小程序上是可以输入多个小数点的。所以我以为在app上也可以
在 UniApp 中使用 uni-easyinput 组件时,如果你将 type 设置为 "digit",并且在安卓设备上运行时只能输入一个小数点,这可能是由于 type="digit" 的限制导致的。
type="digit" 通常用于限制输入为数字和小数点,但在某些情况下,它的行为可能会因平台而异。为了确保你可以在安卓设备上输入多个小数点,你可以考虑以下几种解决方案:
1. 使用 type="number" 或 type="text"
将 type 设置为 "number" 或 "text",然后通过正则表达式或其他方式手动验证输入内容。
<template>
  <uni-easyinput
    v-model="inputValue"
    type="text"
    placeholder="请输入数字"
    @input="handleInput"
  />
</template>
<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  },
  methods: {
    handleInput(value) {
      // 使用正则表达式过滤非数字和小数点
      this.inputValue = value.replace(/[^0-9.]/g, '');
    }
  }
};
</script>
2. 使用 input 事件手动处理输入
你可以在 input 事件中手动处理输入内容,确保只能输入数字和一个小数点。
<template>
  <uni-easyinput
    v-model="inputValue"
    type="text"
    placeholder="请输入数字"
    @input="handleInput"
  />
</template>
<script>
export default {
  data() {
    return {
      inputValue: ''
    };
  },
  methods: {
    handleInput(value) {
      // 确保只能输入数字和一个小数点
      const newValue = value.replace(/[^0-9.]/g, '');
      const decimalCount = (newValue.match(/\./g) || []).length;
      if (decimalCount <= 1) {
        this.inputValue = newValue;
      } else {
        this.inputValue = this.inputValue; // 保持原值,不更新
      }
    }
  }
};
</script>
3. 使用 uni-number-box 组件
如果你需要更严格的控制输入内容,可以考虑使用 uni-number-box 组件,它可以更好地处理数字输入。
<template>
  <uni-number-box
    v-model="inputValue"
    :min="0"
    :step="0.1"
    :precision="2"
  />
</template>
<script>
export default {
  data() {
    return {
      inputValue: 0
    };
  }
};
</script> 
        
       
                     
                   
                    

