在快手小程序中 uni-app uni-popup中的picker-view 不能正常展示

在快手小程序中 uni-app uni-popup中的picker-view 不能正常展示

操作步骤:

  • 在附件中

预期结果:

  • picker-view 正常展示

实际结果:

  • picker-view 不能正常展示

bug描述:

  • 在快手小程序中,uni-popup中的picker-view 不能正常展示

图片

Image 1 Image 2

附件


更多关于在快手小程序中 uni-app uni-popup中的picker-view 不能正常展示的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

我使用 vue3+HBuilderX Alpha 4.52 运行到快手小程序表现正常。提供你的 vue 和 HBuilderX 依赖版本,提供更多信息,有助于定位和解答你的问题。
更新: 临时解决方案:给 popup 内部的 picker-view 设置 v-if=toggle ,等待动画结束再设置为 true 进行展示
这个问题在 weixin 不存在俩原因,过渡动画执行时间和预期不符,动态插入的 picker-view 默认没有高度。

更多关于在快手小程序中 uni-app uni-popup中的picker-view 不能正常展示的实战教程也可以访问 https://www.itying.com/category-93-b0.html


使用的是“uni-ui项目”模版创建的项目,未进行任何修改,增加了附件中的代码 HBuilderX 4.4.5,vue版本应该是内置的版本?未进行修改

是vue3

回复 x***@163.com: 复现了问题,我修复下

uni-popup中picker-view在快手小程序的兼容性问题分析

根据描述和截图,这是一个快手小程序平台特有的兼容性问题。在uni-app中,uni-popup组件内部的picker-view在快手小程序环境下可能无法正常渲染。

问题原因

  1. 快手小程序平台对picker-view组件的渲染层级有特殊限制
  2. uni-popup的弹出层机制与快手小程序的picker-view实现存在兼容性问题
  3. 快手小程序的picker-view可能需要在页面级而非弹窗级使用

临时解决方案

  1. 使用原生快手小程序picker: 在快手平台条件编译,使用<ks-picker>代替<picker-view>

  2. 调整弹出层类型: 尝试修改uni-popuptype属性为其他类型(如center)

  3. 延迟加载: 在show事件后使用setTimeout延迟picker-view的渲染

推荐方案

// 条件编译处理
// #ifdef MP-KUAISHOU
this.$nextTick(() => {
    setTimeout(() => {
        this.showPicker = true
    }, 300)
})
// #endif
回到顶部