记录--优雅解决uniapp微信小程序右上角胶囊菜单覆盖问题

大家好,今天聊一下在做uniapp多端适配项目,需要用到自定义导航时,如何解决状态栏塌陷及导航栏安全区域多端适配问题,下文只针对H5、APP、微信小程序三端进行适配,通过封装一个通用高阶组件包裹自定义导航栏内容,主要是通过设置padding来使内容始终保持在安全区域,达到低耦合,可复用性强的效果。

一、创建NavbarWrapper.vue组件

大致结构如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<template>

  <view class="navbar-wrapper" :style="{

    paddingTop: statusBarHeight,

    paddingRight: rightSafeArea

  }">

    <slot/>

  </view>

</template>

<script>

  export default {

    name: 'NavbarWrapper',

    data() {

      return {

        // 像素单位

        pxUnit: 'px',

        // 默认状态栏高度

        statusBarHeight: 'var(--status-bar-height)',

        // 微信小程序右上角的胶囊菜单宽度

        rightSafeArea: 0

      }

    }

  }

</script>

<style scoped>

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值