uni-app 安卓端subNVue调用hide方法后调用show方法无效

uni-app 安卓端subNVue调用hide方法后调用show方法无效

操作步骤:

  • vue页面中使用subNVue子窗体,在调用hide()后再调用show()方法,子窗体不展示。退出页面重进,子窗体正常展示。

预期结果:

  • 在调用hide()后再调用show()方法,子窗体能正常展示。

实际结果:

  • 在调用hide()后再调用show()方法,子窗体无法正常展示。

bug描述:

  • vue页面中使用subNVue子窗体,在调用hide()后再调用show()方法,子窗体不展示。退出页面重进,子窗体正常展示。

| 信息类别         | 详细信息           |
|------------------|--------------------|
| 产品分类         | uniapp/App         |
| PC开发环境       | Mac                |
| PC操作系统版本   | 10.15.6            |
| HBuilderX类型    | 正式               |
| HBuilderX版本    | 3.1.2              |
| 手机系统         | Android            |
| 手机系统版本     | Android 11         |
| 手机厂商         | 华为               |
| 手机机型         | 华为P10            |
| 页面类型         | nvue               |
| 打包方式         | 云端               |
| 项目创建方式     | HBuilderX          |

更多关于uni-app 安卓端subNVue调用hide方法后调用show方法无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

发下HX示例项目

更多关于uni-app 安卓端subNVue调用hide方法后调用show方法无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


还是没有修复该问题吗 我今天项目中用到subNvue 跟楼主情况一摸一样

解决了吗?

到23年的今天依旧没有修复这个问题 ,Dcloud 太强了 真有你的。

这是一个已知的uni-app在Android端的subNVue子窗体显示控制问题。根据问题描述,在调用hide()后再次调用show()方法时子窗体无法正常显示。

问题分析:

  1. 这是一个典型的Android端subNVue生命周期管理问题
  2. 当子窗体被hide()后,其视图状态可能没有被正确维护
  3. 重新进入页面能正常显示,说明是状态恢复的问题

临时解决方案:

  1. 在调用show()前先调用一次hide()确保状态重置
  2. 或者使用setStyle方法代替hide/show:
this.subNVue.setStyle({display: 'none'}) // 隐藏
this.subNVue.setStyle({display: 'block'}) // 显示
回到顶部