撤回已解决的uni-app问题

发布于 1周前 作者 nodeper 来自 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中不同页面的原生导航栏显示与隐藏。这种方法既保持了代码的灵活性,也提供了良好的用户体验。希望这个示例能够帮助到遇到类似问题的开发者。

回到顶部