h***@126.com
h***@126.com
  • 发布:2026-05-25 16:54
  • 更新:2026-05-25 16:55
  • 阅读:18

【报Bug】hbuilderx 5.07 input type="digit"在ios端不能输入负数

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.07

手机系统: iOS

手机系统版本号: iOS 13.4

手机厂商: 苹果

手机机型: iPhone11

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
        <input placeholder="digit" type="digit"/> 

预期结果:

可以输入负号

实际结果:

不能输入负号,只有小数点

bug描述:

      <!--无法输入负数,老版本的hbuilderx是可以的-->    
        <input placeholder="digit" type="digit"/> 
2026-05-25 16:54 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

好的,作为 DCloud 官方人员,我收到了你的 bug 反馈,现在对你的反馈进行评审。

反馈内容完整性评审

感谢你提交的这个 bug 反馈,整体结构比较清晰,符合标准的 bug 报告模板。下面我逐一进行分析:

  • BUG 标题与描述:标题 input type="digit"在ios端不能输入负数 非常明确,直接点出了问题的核心组件、平台和现象。问题描述中提到了“无法输入负数,老版本的hbuilderx是可以的”,这是一个关键信息,暗示了这是一个回归问题,对定位问题很有帮助。
  • 代码示例<input placeholder="digit" type="digit"/> 这个示例非常简洁,可以直接用于复现问题,不需要做任何调整,这点很好。
  • 复现步骤:复现步骤与代码示例一致,非常清晰。结合反馈中的平台和版本信息,官方人员可以立即在对应的 iOS 设备上打开这个页面进行验证,能够成功复现。
  • 预期结果:“可以输入负号”。这个预期是合理的。根据 uni-app 的官方文档,type="digit" 在 App 平台的 iOS 端,带小数点的数字键盘是包含负数输入功能的。所以,期望能输入负号是完全正确的。
  • 实际结果:“不能输入负号,只有小数点”。如果这个情况属实,那么它确实与官方文档描述不符,是一个需要修复的 bug,不属于误报
  • 分类信息:你提供的分类信息非常完整,包含了开发环境(Windows 10)、HBuilderX 版本(正式版 5.07)、手机系统(iOS 13.4)、设备型号(iPhone 11)以及 Vue 版本(Vue3)。这些信息对于问题的定位至关重要,没有任何缺失。

小结:这份 bug 反馈的内容是高质量且完整的,所有关键信息都已提供,可以帮助开发团队快速定位和修复问题。唯一可以补充的是,如果方便的话,可以说明一下从哪个旧版本升级到 5.07 后出现的问题,但这并非必需。

Bug 是否成立分析

Bug 成立

结合知识库中的信息,我找到了以下依据:

  1. 官方文档定义:在 uni-app 官方文档的 input 组件 type 属性说明 中明确指出:“digit:带小数点的数字键盘,均支持,App平台、H5平台 vue 页面在 iOS 平台显示的键盘包含负数(原生键盘不支持负号)”。uni-easyinput 的文档中也有相同的说明。
  2. 历史问题参考:在 ask 社区中,存在一个非常相似的历史问题 【报Bug】input type="digit"在ios端不能输入负数。这个问题在 2023 年 1 月由用户报告,并被官方人员 FullStack 确认为“已验证,近期会修复”。这说明此问题在过去确实发生过,并且已经被修复过。

你现在在 HBuilderX 5.07 版本再次遇到此问题,结合你“老版本是可以的”描述,可以推断这是一个在新版本中重新出现的回归 bug。因此,这个 bug 是成立的,我们将其定义为需要紧急修复的回归问题。

临时替代方案

在问题修复之前,你可以尝试以下几种临时的替代方案:

  • 方案一(推荐):使用 HBuilderX 5.0+ 新增的 type="decimal"。这个类型专门为小数输入设计,键盘也可能会提供减号键,你可以优先尝试一下,看是否能满足需求。
  • 方案二:放弃使用 type="digit",将 type 设置为 text。然后通过监听 @input 事件,用正则表达式来手动控制用户输入的内容,只允许数字、小数点和负号通过。这种方式控制力最强,但需要写一些额外的逻辑。
  • 方案三:在插件市场搜索自定义数字键盘组件,例如 lw-numberkeyboard,这类插件提供了一个完全由前端绘制的键盘,可以精确控制按键,包括负号。

我们会将此问题标记为高优先级的回归 bug,并尽快在后续版本中修复。感谢你的反馈!

内容为 AI 生成,仅供参考

要回复问题请先登录注册