撤回已解决的uni-app问题
撤回已解决的uni-app问题
测试过的手机
安卓 华为平板
操作步骤:
- 创建音频 离开当前页面 onTimeUpdate无法停止
预期结果:
- 创建音频 离开当前页面 onTimeUpdate停止
实际结果:
- 创建音频 离开当前页面 onTimeUpdate没有停止 导致多个TimeUpdate执行
bug描述:
createInnerAudioContext 销毁了但是onTimeUpdate监听无法停止
| 项目属性 | 值 |
|------------------|--------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Mac |
| PC开发环境操作系统版本号 | 15.6 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.32 |
| 手机系统 | 全部 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
1 回复
针对您提到的“撤回已解决的uni-app问题”,虽然通常情况下我们不会直接“撤回”代码问题或修复(因为代码库和历史记录是保持不变的),但我可以理解您可能是想分享一个之前遇到并已解决的uni-app开发中的问题及其解决方案。以下是一个关于uni-app中常见的导航栏隐藏与显示问题的示例代码及其解决过程。
问题描述
在uni-app开发中,有时需要在特定页面隐藏或显示原生导航栏,比如登录页隐藏,主页显示。
解决方案
1. 在pages.json
中配置页面属性
首先,在pages.json
中为需要控制的页面添加navigationStyle
属性。
{
"pages": [
{
"path": "pages/login/login",
"style": {
"navigationStyle": "custom" // 隐藏原生导航栏
}
},
{
"path": "pages/index/index",
"style": {
"navigationStyle": "default" // 显示原生导航栏
}
}
]
}
2. 自定义导航栏(如果需要)
对于隐藏原生导航栏的页面,可以自定义一个导航栏组件。
自定义导航栏组件(CustomNavBar.vue
)示例:
<template>
<view class="navbar">
<text class="title">{{title}}</text>
<!-- 可以添加返回按钮等 -->
</view>
</template>
<script>
export default {
props: ['title'],
data() {
return {};
}
}
</script>
<style>
.navbar {
width: 100%;
height: 44px; /* 根据需求调整 */
display: flex;
align-items: center;
justify-content: center;
background-color: #fff;
border-bottom: 1px solid #eee;
}
.title {
font-size: 18px;
font-weight: bold;
}
</style>
在页面中引入自定义导航栏:
<template>
<view>
<CustomNavBar title="登录"/>
<!-- 页面内容 -->
</view>
</template>
<script>
import CustomNavBar from '@/components/CustomNavBar.vue';
export default {
components: {
CustomNavBar
},
data() {
return {};
}
}
</script>
总结
通过上述配置和自定义组件,可以有效地控制在uni-app中不同页面的原生导航栏显示与隐藏。这种方法既保持了代码的灵活性,也提供了良好的用户体验。希望这个示例能够帮助到遇到类似问题的开发者。