uni-app 安卓13系统picker点击无法弹起
uni-app 安卓13系统picker点击无法弹起
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 11.7.7 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
HBuilderX类型:正式
HBuilderX版本号:3.98
手机系统:Android
手机系统版本号:Android 13
手机厂商:小米
手机机型:Redmi Note12 Turbo
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
示例代码:
<template>
<view>
<picker
mode="selector"
range-key="label"
:range="applyTypeList"
@change="pickerChange('a', 'b', 'applyTypeList', $event)"
>
<input v-model="formData.b" disabledColor="#F7F7F7" disabled placeholder="请选择" border="none"></input>
</picker>
</view>
</template>
<script>
export default {
data() {
return {
applyTypeList: [
{ label: 'A', value: 1 },
{ label: 'B', value: 2 },
{ label: 'C', value: 3 },
{ label: 'D', value: 6 },
{ label: 'E', value: 5 }
],
formData: {
a: '',
b: '',
}
}
},
methdos: {
async pickerChange(label1, label2, source, e) {
this.formData[label1] = this[source][e.detail.value].value
this.formData[label2] = this[source][e.detail.value].label
}
}
</script>
使用3.99 alpha版本试下
使用了3.99.2023121601版本进行了尝试,安卓13系统还是无法弹出,安卓12可正常弹出
我这里使用 OPPO K9 Android13 测试是可以的,HBuilderX版本:3.99.2023121601-alpha。你可以测试下其他机型是否有问题
使用华为Meta30 鸿蒙4.0.0,HBX版本 3.99.2023121601-alpha,测试没问题,但小米机型就不行
在 uni-app
中,picker
组件在 Android 13 系统上点击无法弹起的问题,可能是由于系统兼容性或 uni-app
框架的某些限制导致的。以下是一些可能的解决方案和排查步骤:
1. 检查 uni-app
版本
确保你使用的是最新版本的 uni-app
框架。旧版本可能存在兼容性问题,更新到最新版本可能会解决该问题。
npm update @dcloudio/uni-app
2. 使用原生 picker
组件
如果 uni-app
的 picker
组件在 Android 13 上无法正常工作,可以尝试使用原生 picker
组件。例如,在 Android
平台上,可以通过 uni.chooseImage
或 uni.showActionSheet
等原生 API 替代。
3. 检查权限问题
在 Android 13 上,某些权限可能需要动态申请。确保你的应用已经正确申请了相关权限,例如:
uni.authorize({
scope: 'scope.record',
success() {
console.log('权限申请成功');
},
fail() {
console.log('权限申请失败');
}
});
4. 使用 input
组件替代
如果 picker
组件无法正常工作,可以尝试使用 input
组件,并通过 focus
和 blur
事件模拟 picker
的弹起效果。
<input type="text" @focus="showPicker" />
methods: {
showPicker() {
uni.showActionSheet({
itemList: ['选项1', '选项2', '选项3'],
success: (res) => {
console.log('用户选择了:' + res.tapIndex);
}
});
}
}
5. 检查 Android 13 系统特性
Android 13 引入了一些新的系统特性和限制,可能会影响 picker
组件的正常使用。可以查阅 Android 13 官方文档 了解相关变化。
6. 提交 Issue
如果以上方法都无法解决问题,可以到 uni-app
官方 GitHub 仓库提交 Issue,详细描述问题并提供复现步骤,等待官方修复。
7. 使用第三方插件
如果 uni-app
的 picker
组件无法满足需求,可以尝试使用第三方插件,例如 vant-weapp
或 uView
中的 picker
组件。
8. 调试日志
在 uni-app
项目中开启调试日志,查看是否有相关错误信息。
uni.setEnableDebug({
enableDebug: true
});