当前位置:网站首页>vant tabbar遮挡内容的解决方式
vant tabbar遮挡内容的解决方式
2022-07-05 15:21:00 【Joy_917】
前面我们提到,使用vant-tabbar 来替换原生的tabbar,但是实际使用中发现,当tab页内容过多之后,tabbar会遮挡页面最下方的内容
直接上图:
我们会发现,两个按钮消失了,从 2 处可以看到,屏幕右侧的 scroll 越过了 tabbar 一栏,说明内容是被遮挡住了,确实滑到了底部但是看不到按钮。
为什么会这样呢?小程序的自定义组件,是通过 slot 的方式将内容注入进去再渲染出来的,而 vant-tabbar 组件是 通过 cover-view 的形式 覆盖在原生组件之上的视图 ,它并不是通常意义上的引用组件,所以和内容元素并不是同级关系。
开始我想既然被 tabbar cover 住了一块区域,那我找到 tabbar 组件的高度,然后把底部元素顶上去不就好了吗?
如上图,确实找到了,vant默认是50px,不过固定效果堪忧,大家感兴趣的可以试一下。我猜测是由于组件底部还有一段安全距离,所以这个 height 并不完全等于 tabbar 的占用高度,其次也会受机型影响。
期间也试了另一种方式,用 scroll-view 标签包裹住内容,然后设定一个固定高度,比如 500px,这样滑动内容不受 tabbar 影响,因为区域不相交。但是同样的也受机型影响。
所以最终还是选用百分比的形式顶上去一段距离,也就是:
<view style="padding-bottom: 25%;"></view>
看下实际效果:
测了大部分机型还算ok。缺点就是每一个有 tabbar 的页面,都需要加一个空 view,不太优雅。所以我考虑能否直接修改自定义组件,在 slot 前后直接加上空 view,或者直接设置 slot 的样式控制内部元素,不过都没效果,所以作罢。
只能尽量使用跳转新页面并隐藏 tabbar 来避免这种情况。后面如果发现更好的方式,会同步更新,也欢迎大佬告知,感谢~
完整代码放到了github上,持续更新中,欢迎 star 支持:https://github.com/Joy917/signgo
边栏推荐
- The elimination strategy of redis
- 19.[STM32]HC_ SR04 ultrasonic ranging_ Timer mode (OLED display)
- wxml2canvas
- [brief notes] solve the problem of IDE golang code red and error reporting
- 2.3 learning content
- 示例项目:简单的六足步行者
- 力扣今日题-729. 我的日程安排表 I
- Modify PyUnit_ Time makes it support the time text of 'xx~xx months'
- Ten billion massage machine blue ocean, difficult to be a giant
- Bugku easy_ nbt
猜你喜欢

Write a go program with vscode in one article

Bugku easy_ nbt
![19.[STM32]HC_ SR04 ultrasonic ranging_ Timer mode (OLED display)](/img/fe/8f59db28823290da8e9280df06673d.jpg)
19.[STM32]HC_ SR04 ultrasonic ranging_ Timer mode (OLED display)

lvgl 显示图片示例

Huawei Hubble incarnation hard technology IPO harvester

示例项目:简单的六足步行者

How difficult is it to pass the certification of Intel Evo 3.0? Yilian technology tells you

Data communication foundation - route republication

Example of lvgl display picture

Appium automation test foundation - appium basic operation API (I)
随机推荐
Creation and optimization of MySQL index
Good article inventory
Bugku's Eval
Fundamentals of data communication - Principles of IP routing
Information collection of penetration test
wyt 。。
21.[STM32]I2C协议弄不懂,深挖时序图带你编写底层驱动
verilog实现计算最大公约数和最小公倍数
Virtual base class (a little difficult)
The computer is busy, and the update is a little slow
Usage and usage instructions of JDBC connection pool
swiper. JS to achieve barrage effect
16.[STM32]从原理开始带你了解DS18B20温度传感器-四位数码管显示温度
No one consults when doing research and does not communicate with students. UNC assistant professor has a two-year history of teaching struggle
keep-alive
The OBD deployment mode of oceanbase Community Edition is installed locally
Clock switching with multiple relationship
Modify PyUnit_ Time makes it support the time text of 'xx~xx months'
1330: [example 8.3] minimum steps
力扣今日题-729. 我的日程安排表 I