uni-app 【已解决】picker在app端第一次点击无法弹起,第二次几率性正常

uni-app 【已解决】picker在app端第一次点击无法弹起,第二次几率性正常

操作步骤:

  1. 运行项目
  2. 点击下面的tabbar - 业绩
  3. 点击2021-03 选择日期

预期结果:

正常弹起日期选择器

实际结果:

无法弹起日期选择器

bug描述:

点击pick,较大几率不正常,真机与模拟器,都试过了

相关链接:

信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 Mac os Big Sur 11.2.3
HBuilderX类型 Alpha
HBuilderX版本号 3.1.6
手机系统 iOS
手机系统版本号 IOS 14
手机厂商 苹果
手机机型 iphone12
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

1.mp4_.zip


更多关于uni-app 【已解决】picker在app端第一次点击无法弹起,第二次几率性正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

32 回复

<picker mode=“date” fields=“month” :value=“dateVal” :start=“startDate” :end=“endDate” @change=“confirmDateSelect”>
<view class="gui-flex gui-rows gui-align-items-center">
<view class="label-date">{{dateVal}}</view>
<view class="gui-icons gui-color-black2"></view>
</view>
</picker>

我试了一下,只要fields=“month”,就百分百复现

更多关于uni-app 【已解决】picker在app端第一次点击无法弹起,第二次几率性正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


问题确认,已加分,后续优化
临时解决办法:manifest.json “nvueStyleCompiler” : “weex”

picker的bug可以复现的问题不止最近几个帖子描述的 毫无征兆的更新之后基础组件的bug. btw 你们4元买2次打包的模式…insane

manifest.json “nvueStyleCompiler” : “weex” 之后,第一次可以正常弹出,第二次及以上,90%会只有遮罩,没有选择器…

回复 5***@qq.com: nvueStyleCompiler是新建工程才有以及手动设置的项目,你的问题可能和他不同,建议详细说明。

回复 握瑾怀瑜: 那你等一下,我上传新文件给你试试

回复 DCloud_UNI_GSQ: 刚刚在写下一个页面,发现picker单列也是这样的问题,请问大约啥时候能更新好,我们好预计一下时间,赶不上就换一种展示方案

回复 握瑾怀瑜: 更新预计今天会发布,你可以先替换一下我提供的这个文件

回复 DCloud_UNI_GSQ: 请问什么时候更新picker的?

回复 握瑾怀瑜: 今天不发布了,推迟几天

回复 DCloud_UNI_GSQ: 好的,这周能发布吗?

回复 握瑾怀瑜: 差不多,临时方案你试过没

回复 DCloud_UNI_GSQ: 试过啦,完全没有问题!

临时解决办法二:
替换附近文件到如下路径:HBuilderX-Alpha.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/template/common/__uniapppicker.js

收到,谢谢

HBuilderX 3.1.7 已修复

回复 握瑾怀瑜: 你好 我想问下你现在使用picker组件还会不会无法弹出下拉框?

回复 吴web: 用上面的文件覆盖一下,目前正常了

回复 握瑾怀瑜: 我替换了上面的文件,但还是会时而无法调取弹窗

回复 吴web: 等发布了再试试,或者你可以上传一份你写的然后给他们测一下

回复 吴web: 3.1.7 已经发布了,你试试

回复 DCloud_UNI_GSQ: 已经更新了最新版本,但上面问题依旧存在

回复 吴web: 出现问题的是什么机型,有什么规律没有?

回复 DCloud_UNI_GSQ: iphone 7plus;软件版本14.2;就是重复点击,时而弹出下拉框,时而就显示遮罩层

回复 吴web: 直接新建一个工程测试能复现吗?

3.1.7版本引入一个新的问题,直接通过xcode导入3.1.7SDK里面的Hbuilder-Hello工程,然后引入liblibCamera.a,然后编译不通过,提示 Showing Recent Messages Undefined symbol: _OBJCCLASS$_MTKView

3.1.7之前版本测试没问题。麻烦大佬解决下。

还是有这个问题 ,ios稳定复现 以前正常的 最近测试发现有这个问题

详细描述一下

这是一个已知的uni-app在iOS端的兼容性问题,主要出现在HBuilderX 3.1.6版本中。问题根源在于picker组件在iOS平台下的首次渲染时机处理异常。

解决方案:

  1. 升级HBuilderX到3.1.7或更高版本,官方已在该版本中修复此问题
  2. 若暂时无法升级,可在picker组件上添加@click事件强制触发组件更新:
<picker @click="forceUpdate" [@change](/user/change)="onChange">
  // picker内容
</picker>

methods: {
  forceUpdate() {
    this.$forceUpdate()
  }
}
  1. 另一种临时方案是使用v-if控制picker的显示:
<picker v-if="showPicker" [@change](/user/change)="onChange">
  // picker内容
</picker>

// 在需要显示picker时设置showPicker = true
回到顶部