在苹果15pro上选择picker-view后@change返回的值还是上一次选择的 uni-app

在苹果15pro上选择picker-view后@change返回的值还是上一次选择的 uni-app

操作步骤:

  • 直接选择日期,多选择几次

预期结果:

  • 每次正常

实际结果:

bug描述:

  • 在苹果15pro上重复选择几次picker-view后,出现@change返回的值还是之前选择的,picker-view滑动了@change返回值还是不变,
  • 用户端:APP

Image Image

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC操作系统版本 win10
HBuilderX类型 正式
HBuilderX版本 3.8.12
手机系统 iOS
手机系统版本 iOS 16
手机厂商 苹果
手机机型 苹果15pro
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

更多关于在苹果15pro上选择picker-view后@change返回的值还是上一次选择的 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于在苹果15pro上选择picker-view后@change返回的值还是上一次选择的 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个iOS平台上picker-view组件的已知问题,主要出现在快速连续选择时。建议尝试以下解决方案:

  1. 使用@change事件时,确保使用最新的value值:
function handleChange(e) {
  const currentValue = e.detail.value
  // 使用currentValue而不是依赖组件内部状态
}
  1. 可以尝试添加@pickstart@pickend事件监听器来辅助处理:
<picker-view 
  @change="handleChange"
  @pickstart="handlePickStart"
  @pickend="handlePickEnd">
</picker-view>
  1. 如果问题仍然存在,可以尝试强制更新picker-view的值:
function handleChange(e) {
  this.pickerValue = e.detail.value
  this.$forceUpdate()
}
回到顶部