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()方法时子窗体无法正常显示。
问题分析:
- 这是一个典型的Android端subNVue生命周期管理问题
- 当子窗体被hide()后,其视图状态可能没有被正确维护
- 重新进入页面能正常显示,说明是状态恢复的问题
临时解决方案:
- 在调用show()前先调用一次hide()确保状态重置
- 或者使用setStyle方法代替hide/show:
this.subNVue.setStyle({display: 'none'}) // 隐藏
this.subNVue.setStyle({display: 'block'}) // 显示