谭小谭
谭小谭
  • 发布:2023-05-04 13:44
  • 更新:2024-01-20 14:42
  • 阅读:1538

【报Bug】input 框和uni-easyinput当type='digit'时,苹果手机不能输入小数

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.7.11

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: ipone Xs

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<uni-easyinput v-model="machineDetailInfo.fuelHeight" maxlength="20" type="digit" :inputBorder="false"
placeholder="请输入" style="width: 90%;" :styles="{disableColor: 'rgba(0,0,0,0)'}">
</uni-easyinput>

操作步骤:

input 框type="digit",然后云打包成ipa文件,ipa文件通过爱思助手安装到苹果手机(此操作主要模拟通过苹果商店下载到手机的场景),input不能输入小数点不生效

预期结果:

输入小数点能生效

实际结果:

输入小数点不能生效

bug描述:

input 框和uni-easyinput当type='digit'时,真机打自定义基座可以输入小数,但是打包成ipa文件安装到苹果手机不能输入小数,发布到苹果商店后,通过苹果商店下载也不能输入小数

2023-05-04 13:44 负责人:DCloud_UNI_LXH 分享
已邀请:
谭小谭

谭小谭 (作者) - 90后前端

请尽快解决,线上bug,伤害较大啊

  • 我是纸飞机

    你的解决了吗,我也出现了这个问题,自定义的就可以,打包上线就出问题了,官方给我的回复是没有复现

    2023-05-29 15:33

  • 谭小谭 (作者)

    回复 我是纸飞机: npx @dcloudio/uvm

    2023-06-02 09:50

DCloud_UNI_GSQ

DCloud_UNI_GSQ

不能输入的意思是键盘没有小数点按钮吗?

  • 1***@163.com

    有小数点按钮,但是点击了之后,输入框没有输入小数点

    2023-05-04 14:34

  • DCloud_UNI_GSQ

    回复 1***@163.com: 你也是仅打包后才出现此问题吗?

    2023-05-04 14:40

  • 1***@163.com

    回复 DCloud_UNI_GSQ: 我在手机上的safari浏览器打开我本地的项目页面,输入框也不能输入小数点

    2023-05-04 14:41

  • 1***@163.com

    云打包生成的测试包和生产包也同样不能输入小数点

    2023-05-04 14:42

  • 谭小谭 (作者)

    有小数点按钮,但是点了没用,比如按顺序输入:1.25是不行的,但是输入125,然后把光标移到1后面,就可以补上小数点

    2023-05-04 15:08

  • DCloud_UNI_GSQ

    回复 谭小谭: 直接使用input组件有这个问题吗?

    2023-05-04 19:39

  • 谭小谭 (作者)

    回复 DCloud_UNI_GSQ: 云打包后安装真机就会有问题,本地都没问题

    2023-05-05 09:18

  • 1***@163.com

    回复 DCloud_UNI_GSQ: 我用的是uview1.8.6的input组件<u-input>

    2023-05-05 09:30

DCloud_UNI_LXH

DCloud_UNI_LXH

没有复现你所说的问题。

  1. 可以尝试使用 3.8.0 云端打包试试看
  2. 提供一个可以复现的最小实现,可以直接运行的 demo,提供操作流程,视频更好
  • 谭小谭 (作者)

    1:云打包,还可以选择版本吗?请问在哪选择

    2:这个问题需要苹果打包后才会出现,需要去申请证书,比较麻烦啊,你们那应该可打包的测试项目吧,其实很好复现的,就随便用一个你们的项目,加个input框,type='digit',然后云端打包,安装到ios手机,打开页面,你就会发现输不进小数点

    2023-05-05 16:09

  • DCloud_UNI_LXH

    回复 谭小谭: 就是使用 alpha 3.8.0 的 hx 云打包试试看

    2023-05-05 17:23

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 还是不行啊,已经用了3.8.1.20230428-alpha,苍天啊

    2023-05-05 17:39

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 我用的乾坤微前端,input框相当于是写在h5上的,不知道有没有关系

    2023-05-06 09:08

  • 谭小谭 (作者)

    我上传了演示视频,你看下啊

    2023-05-06 09:40

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 核心代码就是<uni-easyinput type="digit" >或者<input type="digit" >,复现的关键在于,你一定要云打包成ipa文件,而不是本地真机运行,因为本地链接真机运行是不会有问题的,云打包成ipa文件通过苹果商店发布下载,或者通过爱思助手安装到苹果手机,都能复现这个问题的

    2023-05-06 09:45

谭小谭

谭小谭 (作者) - 90后前端

还是不行啊,已经用了3.8.1.20230428-alpha,苍天啊

  • DCloud_UNI_LXH

    你创建一个vue2的默认模板就可以复现?

    2023-05-06 15:01

谭小谭

谭小谭 (作者) - 90后前端

!这是演示视频,在最后一步,新建新增机械,油箱容积和油箱高度,输入1.25,无法成功输入小数点,如果我手机联接电脑,直接真机运行,就可以输入,所以一定要云打包成ipa文件,安装到手机上就能复现

  • 谭小谭 (作者)

    核心代码就是<uni-easyinput type="digit" >或者<input type="digit" >

    2023-05-06 09:43

  • DCloud_UNI_LXH

    回复 谭小谭: ios 系统版本是多少?我使用 13PM 16.4 系统测试没有问题啊

    2023-05-06 14:42

6***@qq.com

6***@qq.com

我这边也遇到了。希望官方尽快处理,影响大,公司很多客户都在反馈了

  • DCloud_UNI_LXH

    之前打包都没有问题,是刚出的问题吗?使用的是 ios 什么版本的?

    2023-05-06 14:42

  • DCloud_UNI_LXH

    你也是本地调试没有问题,云端打包就有问题?

    2023-05-06 14:42

  • 6***@qq.com

    回复 DCloud_UNI_LXH: 之前没有问题,也是刚出现的

    2023-05-06 15:11

  • 6***@qq.com

    回复 DCloud_UNI_LXH: 是的,本地调试没问题

    2023-05-06 15:12

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: ios 16.3.1,我怀疑是和safari浏览器的兼容性有关,安卓都没有问题的

    2023-05-06 16:01

  • DCloud_UNI_LXH

    回复 谭小谭: 我使用 16.4 和 14.4 都没有问题,如果真的是兼容性的话,本地调试也应该有相同的问题

    2023-05-06 16:10

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 那要不你打包试试一下呢,我alpha云打包都会有问题

    2023-05-06 16:15

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 我乾坤微前端,套的h5,input是相当于是写在h5上的

    2023-05-06 16:16

  • DCloud_UNI_LXH

    回复 谭小谭: 我测试的打包后和真机调试都没有问题,你把项目运行到浏览器然后使用 16.3.1 的设备访问是否有此问题

    2023-05-06 16:48

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 测试了,在手机safari和谷歌浏览器上都不能输入

    2023-05-09 10:59

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 这么多人都在反应问题了,为啥你们测不出来啊,奇怪啊

    2023-05-09 11:00

  • 6***@qq.com

    回复 DCloud_UNI_LXH: 还复现不了吗?

    2023-05-09 13:49

  • DCloud_UNI_LXH

    回复 6***@qq.com: 没有复现,提供一个 demo 可好?

    2023-05-09 15:49

  • 6***@qq.com

    回复 DCloud_UNI_LXH: 如果用手机safari浏览器打开https://uniapp.dcloud.net.cn/component/input.html#input这个,找到输入小数点的框去输入是可以输入上小数点的,这样肯定复现不了,但是发布后在APP里是没办法输入小数点的,IOS 15都还是可以的,16就不行

    2023-05-09 16:52

skysowe

skysowe

关注此问题,今天也有线上App被反映不能输入小数点的问题,5.4日打包的,之前没有过此问题

  • DCloud_UNI_LXH

    你是什么设备有这个问题?具体版本是多少

    2023-05-08 16:26

  • 我是纸飞机

    我也一直有这个问题,ios就会出现,安卓就没问题,本地调试也没有问题,就是打包之后有问题,之前也没有问题的

    2023-05-29 15:37

skysowe

skysowe

查到了这些:

https://blog.csdn.net/zhanglijiang_2017/article/details/81083164

https://ask.dcloud.net.cn/question/154584

  • 谭小谭 (作者)

    https://blog.csdn.net/zhanglijiang_2017/article/details/81083164这个解决方案怕是不行吧,就是type改成text而已吧

    2023-05-09 11:00

  • skysowe

    搞了一上午,总结一下,iOS 15是正常的,iOS16有此问题,,而且不必打包成App,直接在Safari浏览器里,就有这个情况,我是h5+的App,之前的写法是onchange="calc()",计算单价,在Safari中好像不响应这个事件,所以我又额外加了个onkeyup="checkPrice(value)",checkPrice里用了正则判断输入的字符是否合法,在iOS15下正常,iOS16异常。


    最后的解决方法是。onchange改成onblur,在失去焦点的时候,用正则判断输入是否合法。input类型还是用的number,onkeyup去掉了。


    刚用自定义基座试了一下,ok了,准备重新打包上线。

    2023-05-09 12:53

  • skysowe

    检查一下,你的代码里,有没有onkeyup,有的话,去掉,换其他写法,比如onblur

    2023-05-09 12:56

  • 谭小谭 (作者)

    回复 skysowe: type=number的话,岂不是不能输入小数点了,小数点按钮都不在啊

    2023-05-09 14:32

  • DCloud_UNI_LXH

    回复 谭小谭: 你往这个帖子上传一个demo,就算是一个默认模板可复现也行。我测试运行 vue2 的 input 不管是打包,还是运行到 H5 都表现正常

    2023-05-09 15:50

  • 3***@qq.com

    回复 DCloud_UNI_LXH: VUE3同样的问题,不能输入小数点

    2023-05-09 15:57

  • DCloud_UNI_LXH

    回复 3***@qq.com: 什么环境?HX版本,运行到哪里?H5和app都有问题?和他们一样,真机调试没事,打包有问题?

    2023-05-09 16:02

  • 3***@qq.com

    回复 DCloud_UNI_LXH: H5 ,IOS版本 16.4.1不能输入,IOS版本15可以输入

    2023-05-09 16:04

  • DCloud_UNI_LXH

    回复 3***@qq.com: 这问题修过啊,提供一个demo,新建默认模板如果复现上传上来。hx 什么版本?

    2023-05-09 16:06

  • 1***@163.com

    回复 DCloud_UNI_LXH: demo上传了,hx版本是3.7.11

    2023-05-09 16:27

  • 1***@163.com

    回复 DCloud_UNI_LXH: 是用cli创建的项目

    2023-05-09 16:27

1***@163.com

1***@163.com

1、test-input使用cli创建的项目,装下依赖就能在手机浏览器中就能复现
2、npx @dcloudio/uvm 3.4.6.20220420
运行一下这个命令将uni-app-plus的版本降级成这个,在手机浏览器中就能复现
"@dcloudio/uni-app-plus": "2.0.1-34620220419001",

  • DCloud_UNI_LXH

    这个问题是 3.6.7 修复的,遇到问题先升级测试一下

    2023-05-09 16:39

  • 1***@163.com

    回复 DCloud_UNI_LXH: npx @dcloudio/uvm 运行这个命令,更新了一下,在手机浏览器里能正常输入小数点了,一会打个测试包测试一下有没有其他问题。有问题的兄弟可以试一下

    2023-05-09 16:56

  • 1***@163.com

    回复 DCloud_UNI_LXH: 现在有个新问题,输入框输入1.23,然后点击删除,删除2的时候,小数点也自动被删了,在安卓手机中,小数点不会自动消失,还在输入框中。是ios系统的数字输入框的特性还是bug?

    2023-05-10 17:00

  • DCloud_UNI_LXH

    回复 1***@163.com: 特性,在 ios16中的小数点是手动实现的。不影响功能

    2023-05-10 17:40

  • 1***@163.com

    回复 DCloud_UNI_LXH: 好的

    2023-05-11 09:14

6***@qq.com

6***@qq.com

我这边找到原因了 更新 @dcloudio/uni-app 就好了

  • 6***@qq.com

    好 我试试

    2023-05-09 17:43

  • 谭小谭 (作者)

    怎么操作更新啊,要cli项目才行吗

    2023-05-10 11:06

  • DCloud_UNI_LXH

    回复 谭小谭: 你是 hx 项目的话,用新版的 hx 就行

    2023-05-12 14:46

  • 谭小谭 (作者)

    回复 DCloud_UNI_LXH: 可以了,h5要运行npx @dcloudio/uvm,升级hx没用

    2023-05-12 17:14

  • 我是纸飞机

    是需要更新cli吗?

    2023-05-29 15:42

  • 1***@qq.com

    回复 谭小谭: 跟楼主bug一样,ios15的版本正常,16的版本就出现按小数点不生效,点击那个叉号也不生效.是不是运行npx @dcloudio/uvm就可以了

    2023-07-21 14:23

  • 1***@qq.com

    回复 谭小谭: 牛逼了兄弟,管用

    2023-07-21 14:51

  • 谭小谭 (作者)

    回复 1***@qq.com: 握爪

    2023-08-01 15:13

  • ddpapa

    回复 1***@qq.com: 更新,之后报了node-sass不兼容问题

    2023-11-03 16:50

7***@qq.com

7***@qq.com

我也遇到这个问题了,而且我不是cli的项目,这要怎么解决,我打包用的是最新版的3.99也还是不行

要回复问题请先登录注册