vant tabbar遮挡内容的解决方式

这篇具有很好参考价值的文章主要介绍了vant tabbar遮挡内容的解决方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面我们提到,使用vant-tabbar 来替换原生的tabbar,但是实际使用中发现,当tab页内容过多之后,tabbar会遮挡页面最下方的内容

直接上图:
vant tabbar遮挡内容的解决方式

我们会发现,两个按钮消失了,从 2 处可以看到,屏幕右侧的 scroll 越过了 tabbar 一栏,说明内容是被遮挡住了,确实滑到了底部但是看不到按钮。

为什么会这样呢?小程序的自定义组件,是通过 slot 的方式将内容注入进去再渲染出来的,而 vant-tabbar 组件是 通过 cover-view 的形式 覆盖在原生组件之上的视图 ,它并不是通常意义上的引用组件,所以和内容元素并不是同级关系。

开始我想既然被 tabbar cover 住了一块区域,那我找到 tabbar 组件的高度,然后把底部元素顶上去不就好了吗?
vant tabbar遮挡内容的解决方式
如上图,确实找到了,vant默认是50px,不过固定效果堪忧,大家感兴趣的可以试一下。我猜测是由于组件底部还有一段安全距离,所以这个 height 并不完全等于 tabbar 的占用高度,其次也会受机型影响。

期间也试了另一种方式,用 scroll-view 标签包裹住内容,然后设定一个固定高度,比如 500px,这样滑动内容不受 tabbar 影响,因为区域不相交。但是同样的也受机型影响。

所以最终还是选用百分比的形式顶上去一段距离,也就是:

<view style="padding-bottom: 25%;"></view>

看下实际效果:
vant tabbar遮挡内容的解决方式
测了大部分机型还算ok。缺点就是每一个有 tabbar 的页面,都需要加一个空 view,不太优雅。所以我考虑能否直接修改自定义组件,在 slot 前后直接加上空 view,或者直接设置 slot 的样式控制内部元素,不过都没效果,所以作罢。

只能尽量使用跳转新页面并隐藏 tabbar 来避免这种情况。后面如果发现更好的方式,会同步更新,也欢迎大佬告知,感谢~

完整代码放到了github上,持续更新中,欢迎 star 支持:https://github.com/Joy917/signgo文章来源地址https://www.toymoban.com/news/detail-490395.html

到了这里,关于vant tabbar遮挡内容的解决方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp中弹出层如何遮挡住uniapp中自带的tabbar

    在 uniapp 中,如果你想要遮挡住自带的 tabbar,你可以使用 uniapp 自带的弹出层组件来实现。 具体来说,你可以使用 uniapp 的 popup 组件来实现弹出层的效果。你可以在 popup 组件中包含你想要显示的内容,然后设置 popup 组件的 mask 属性为 true ,这样就可以在弹出层中显示一个半

    2024年02月11日
    浏览(22)
  • Tabbar切换效果(vant)

    route 是否开启路由模式

    2024年01月17日
    浏览(28)
  • 关于vant 的tabbar功能

    1、想要实现tabbar页面A,其他的页面B(非tabbar页面)。 从A页面进入B页面,底部的active选中效果应该被取消掉,但是还是选中A。 按照官网的说法有两个方法 一、根据path路径 二、自定义的model 但是!但是! 但是! path路径设置时 如下,‘ / ’ 默认路径也是home页面,就会导

    2024年02月04日
    浏览(75)
  • 如何使用vant配置Tabbar

    本文讲解如何通过vant配置Tabber功能。 首先肯定是通过vant官网找到Tabber 然后我们创建一个components文件夹,再到里面创建一个common文件夹,然后创建TabbarView.vue组件 内容具体如下: 代码详细解释: 需要搭配router下面的index.js使用 HTML 部分 JavaScript 部分 整个代码部分使用了 V

    2024年01月16日
    浏览(63)
  • 微信小程序引入vant与解决[ app.json 文件内容错误] [“van-button“]: “@vant/weapp/button/index“ 未找到

    下面模拟小白引入vant所遇到的问题与[ app.json 文件内容错误] [\\\"van-button\\\"]: \\\"@vant/weapp/button/index\\\" 未找到 1,利用npm引入vant组件,在目录下初始化组件库 命令:npm init 按ENTER键直到最后回yes好了 2,npm i vant-weapp -S --production 3,回到小程序构建npm 4,此时可能会出现这样的一个问题

    2024年02月11日
    浏览(57)
  • 小程序自定义tabBar+Vant weapp

      1)根目录下 ,初始化生成依赖文件package.json 2)安装vant 3)修改 package.json 文件 开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,package.json 在其外部,npm 构建无法正常工作。 需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置(

    2024年02月14日
    浏览(31)
  • 使用viewport-fit=cover来解决关于ios在Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的兼容问题

    首先,本文将会详细说明一下如何使用viewport-fit和css的env函数,如果你了解并熟悉这些东西,请直接跳到第三步【解决ios内容被Safari遮挡的两种情况】 最后会详细说明页面body第一层的div设置100vh和100%高度来解决关于ios在Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的

    2024年02月09日
    浏览(107)
  • vant 组件van-tabbar实现底部导航

    移动端小白,首次尝试移动H5开发,使用vant2的van-tabbar实现底部导航功能。本文忽略vant使用步骤,项目中使用全局引用。由于查询很多文章有的过于复杂,有的功能未实现,所以简单整理如有问题欢迎留言改正。 底部导航栏简单实现,需要注意的是,组件是需要在所有需要使

    2024年02月05日
    浏览(47)
  • 【项目复盘Vue2-移动端】IOS使用Vant表单组件输入框获取焦点后放大页面,安卓软键盘遮挡问题

    使用Vue+Vant做的移动端项目,在登录界面使用Vant的表单组件van-input时发现在真机测试IOS会出现获取焦点输入时会撑大原页面的宽度,每一个输入框获取到焦点就会页面就会放大一点点,需要双指缩放才能回到原来的比例。 经过一番百度后发现: 在移动端开发项目中,发现页

    2024年02月12日
    浏览(69)
  • 【Excel】快速提取某个符号前面的数据内容

    【问题描述】 在使用excel整理数据过程中,经常与需要调整数据后,进行使用。 例如凭证导出后,科目列是包含科目编码和科目名称的。 但由于要将数据复制到其他的导入模板上使用,对应的模板只需要科目编码,不需要科目名称。 所以需要将导出的数据进行修改后使用,

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包