uni-app内置组件input在设置type为digit的情况下,在iOS系统版本为17.1.1和17.1.2中无法输入小数点

uni-app内置组件input在设置type为digit的情况下,在iOS系统版本为17.1.1和17.1.2中无法输入小数点

示例代码:

<input  
    type="digit"  
/>

操作步骤:

唤起digit数字键盘后输入数字后点击键盘上的小数点无法反显到输入框内

预期结果:

唤起digit数字键盘后输入数字后点击键盘上的小数点可以正常反显

实际结果:

唤起digit数字键盘后输入数字后点击键盘上的小数点无法反显到输入框内

bug描述:

<input  
    type="digit"  
/>

输入框无法输入小数点


更多关于uni-app内置组件input在设置type为digit的情况下,在iOS系统版本为17.1.1和17.1.2中无法输入小数点的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app内置组件input在设置type为digit的情况下,在iOS系统版本为17.1.1和17.1.2中无法输入小数点的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中,<input> 组件设置 type="digit" 时,在 iOS 17.1.1 和 17.1.2 版本中无法输入小数点的问题,可能是由于 iOS 系统对这些版本的输入类型处理存在差异或 bug 导致的。以下是一些可能的解决方案和替代方案:


1. 使用 type="number" 替代 type="digit"

  • type="number" 允许输入数字和小数点,虽然它可能会在移动端弹出数字键盘,但可以解决无法输入小数点的问题。
  • 示例代码:
    <input type="number" />
    

2. 使用 inputmode="decimal"

  • inputmode="decimal" 可以指定输入模式为小数,适用于移动端设备。
  • 示例代码:
    <input inputmode="decimal" />
    

3. 自定义输入验证

  • 使用 type="text",并通过正则表达式或 JavaScript 手动验证输入内容,确保只能输入数字和小数点。
  • 示例代码:
    <input type="text" @input="handleInput" />
    
    methods: {
      handleInput(event) {
        const value = event.detail.value;
        // 只允许数字和小数点
        const filteredValue = value.replace(/[^0-9.]/g, '');
        // 更新输入框的值
        event.target.value = filteredValue;
      }
    }
回到顶部