【自用笔记】微信小程序 使用van-tab时的问题处理

vant UI之van-tab如何实现标题两行显示 完美解决tab标题两行显示问题。 阅读详情

在本次项目中,使用了van-tab嵌套,需要更改样式和一些效果:

需求

1.外层tab的字体要比内层tab的字体大,且高度高于内层

2.实现吸顶效果

3.切换时,可以返回原点

4.解决刚开始切换时,因未渲染导致的下划线错位问题

首次进入页面实现大致效果:

切换返回的大致效果(找的别人的图)

首先要引入van组件 .josn

{
    "usingComponents": {
        "van-tab": "@vant/weapp/tab/index",
        "van-tabs": "@vant/weapp/tabs/index"
    }
}

在页面中开始使用 .wxml

(这里我使用bind:change事件是因为实际业务中需要调用不同的接口,所以要进行判断,在这里只是为了演示,所以把业务的东西全部删除了,大家可以根据自己的业务去做不同的处理;列表2中的内嵌tab加id是为了解决下划线错位问题)

<view class="tabBox">
   <van-tabs active="{{active}}" bind:change="onChange" type="card" color="#1c81f6">
       <van-tab title="列表1"  title-style='font-weight: bold; font-size: 32rpx;'>
          <van-tabs active="{{ activeSon }}" bind:change="onChangeSon" color="#1c81f6">
               <van-tab title="菜单1">
                     <view wx:for="{{50}}" wx:key="item"> {{item}} </view>
                </van-tab>
                <van-tab title="菜单2">
                      <view wx:for="{{50}}" wx:key="item"> {{item}} </view>
                 </van-tab>
            </van-tabs>
        </van-tab>
        <van-tab title="列表2" title-style='font-weight: bold; font-size: 32rpx;'>
            <van-tabs active="{{ activeSon2}}" bind:change="onChangeSon" data-item="son2" color="#1c81f6" id="tabOrder">
                <van-tab title="菜单3">
                    <view wx:for="{{50}}" wx:key="item"> {{item}} </view>
                </van-tab>
                <van-tab title="菜单4">
                     <view wx:for="{{50}}" wx:key="item"> {{item}} </view>
                </van-tab>
            </van-tabs>
        </van-tab>
   </van-tabs>
</view>

接下来在 .js中处理逻辑

Page({ 

    data:{
        active: 0,
        activeSon: 0,
        activeSon2: 0,

    },
    onChange(e) {
        let index = e.detail.index;
        if(index == 2){
            //这里是为了防止未渲染导致tab的下划线错位,在你需要的位置加上这句话就可以了
              (因为我这里是嵌套的两个tab,所以刚开始所有的都加上,再通过笨方法进行测试,发现只需要在我需要的地方加就可以了)
            this.selectComponent('#son2').resize()
        }
        // 回到顶部(在切换后能够让滚动条重新回到顶部,如果你设置了两个事件,两个事件就都要加上)
        wx.pageScrollTo({
            duration: 0,
            scrollTop: 0,
        })
        //以下是对数据的重新获取
          this.reset()   //获取前,我习惯先重置一下列表
          this.queryList()
    },
    onChangeSon(e){
        // 回到顶部
        wx.pageScrollTo({
            duration: 0,
            scrollTop: 0,
        })
        //以下是对数据的重新获取
          this.reset() 
          this.queryList()
    },
    //重置
    reset() {
        this.setData({
            dataList: [],
            pageNum: 1,
            pageSize: 10,
            total: 0,
        })
    },
    queryList() {
        //在这里你可以重新获取列表接口,并进行渲染
    }
})

 在样式方面,实在不是我的强项,只能用一个丑字形容,但是还是贴出来仅供参考吧。我会详细说明为什么要改这个类名的  .wxss   

(在此,重申一下,如果直接照搬模版存在不合理,比如当你使用后发现无法向下滑动,是因为涉及到业务问题,所以我做了删减,实际上我的数据是通过wx:if,并通过wx:for循环显示的,所以在这里的.wxml就不做展示了)

//我比较懒,所以将整个tab的外层盒子用fixed进行固定
.tabBox {
    width: 100%;   //不100%的话,盒子无法铺满整个宽度
    z-index: 999;  //要确保层级最高
    position: fixed;
    top: 0;
}
//这个是因为外层tab我用的card类型,升高了它的高度
.tabBox .van-tabs--card {
    height: 100rpx;
}
//因为我觉着border太多比较繁重,仅保留了下边框,尝试过用border:none;没有效果
.tabBox .van-tabs__scroll--card {
    border-top: none;
    border-right: none;
    border-left: none;
    margin: 0;
    width: 100%;  //为了让tabs平分盒子内容,不留白
    height: 100%;
}
//这个是因为active后的标签background不够,所以要设置一样的高度,让背景色填满
.tabBox .van-tabs__nav--card .van-tab.van-tab--active {
    height: 100rpx;
}
// 内嵌的tab我用的是line型,高度降低,并让它居中
.tabBox .van-tabs--line {
    height: 80rpx;
    align-items: center;
}
//这里主要针对line型内嵌tab中的下划线下划线
.tabBox .van-ellipsis {
    height: 90rpx;
    line-height: 100rpx;
    border-right: none;  //这里发现外层tab在切换到菜单2的时候有一个border比较突兀,就给去掉了
}
//这里是我的数据盒子,因为tab吸顶,所以为了让列表不被遮挡,距顶大约100px,稍微多一点可以留点呼吸
.dataListBox {
    margin-top: 200rpx;
} 

虽然丑,但是实现了效果(本来看文档,van-tab有一个吸顶效果,但是我尝试了没有用,大概率是我不会用,所以就使用了原始方法)

如果有其他的坑或者其他的内容,请留言,我将重新整理,一起进步

vant UI之van-tab标题样式深度定制:从单行到多行的完美适配 本文深入解析了Vant UI组件库中van-tab标题样式的深度定制方法,重点介绍了如何利用title-style属性实现从单行到多行的完美适配。通过CSS属性white-space、word-break和-webkit-line-clamp的灵活运用,结合底部指示条与整体布局的协同调整,开发者无需重复造轮子即可满足复杂设计需求,提升移动端开发效率。 阅读详情

相关推荐

前端开发:Vue3提示警告Failed to resolve component:XXX If this is a native custom element… 的解决方法

在前端开发中使用Vue的开发者都知道,Vue目前已经以Vue3.0为基础版本了,也就是说Vue3.0已经成为主流版本了。还在只用Vue2.0开发没有使用Vue3.0的开发者要注意了,要抓紧时间熟悉和了解Vue3以上的相关语法和知识点了,迫在眉急。本篇博文来分享一下,关于在使用Vue3的时候遇到的一个提示警告错误,虽然不复杂,但是这是一个比较常见且共性的问题,分享出来记录一下,方便以后查阅使用。

全沾软贱开发攻城狮 4万+

Vant Tab标签页

引入 import Vue from 'vue'; import { Tab, Tabs } from 'vant'; Vue.use(Tab); Vue.use(Tabs); 代码演示 基础用法 通过v-model绑定当前激活标签对应的索引值,默认情况下启用第一个标签 <van-tabs v-model="active"> <van-tab title="标签 1">内容 1</van-tab> <van-tab title="标签

我想我是海 冬天的大海 心情随风轻摆 1万+

STM32 HAL 模拟I2C从机实战:软件实现与多设备通信优化

本文详细介绍了STM32 HAL库下软件模拟I2C从机的实现方法,包括GPIO开漏配置、基础信号实现、数据收发函数编写和多设备通信优化策略。通过灵活的软件模拟方案,解决了硬件I2C接口数量限制和稳定性问题,为多传感器数据采集等应用提供了可靠的通信保障。

motor的博客 924

vant中van-tabs使用中的小问题

van-tabs 不要默认选中

weixin_44224712的博客 2559

Zynq远程更新程序实战:从emmc到flash的完整方案解析

本文详细解析了Zynq远程更新程序的完整方案,重点探讨了从emmc到flash的实战操作。通过硬件连接限制破解、emmc配置技巧、flash擦写策略优化等关键技术点,提供了可靠的远程更新解决方案,特别适合需要频繁更新boot.bin的应用场景。

weixin_29163797的博客 179

Python 爬虫实战:在丁香医生抓取健康科普文章阅读量,普及健康知识

requests:用于发送 HTTP 请求,获取网页内容。或 lxml:用于解析 HTML 页面,提取目标数据。pandas:用于数据清洗和分析。matplotlib和seaborn:用于数据可视化。通过本项目,我们实现了以下目标:使用 Python 爬虫抓取丁香医生的健康科普文章阅读量。对数据进行清洗和分析,找出热门文章。通过可视化展示数据,并普及健康知识。

u014481728的博客 1567

小程序里使用van-tab底部条位置错乱??

van-tab底部条位置错乱

Hassan的小博客! 1755

基于多模态融合的反无人机视觉跟踪算法研究

本研究提出了一种基于多模态融合的反无人机视觉跟踪算法,通过整合可见光、红外、深度等多种视觉信息源,提高了对无人机的跟踪精度和可靠性。设计并实现了多模态特征提取方法,针对不同模态图像的特点提取了有效的特征信息,为多模态融合提供了基础。研究了多种多模态融合策略,包括特征级融合、决策级融合和混合融合,并通过实验对比分析了它们的优缺点,确定了适合反无人机视觉跟踪的融合方法。选择并改进了跟踪算法,将多模态融合信息融入到跟踪过程中,提高了算法对复杂环境和无人机运动变化的适应性。

AI的内部世界的博客 1354

微信小程序中van-tab的title(动态)根据文本内容,自适应宽度

小程序van-tab的title(动态)根据文本内容,自适应宽度

wangjie的博客 1159

【企业智能体开发】优化模型成本、延迟与失败降级

小林的培训快开始时,服务台花很久“思考最优回答”,体验并不会更好。反过来,为了省钱而始终选最轻的模型,若连房间、连接方式和任务状态都识别不稳,后续错误检索和重复建单会造成更大代价。企业 Agent 的优化对象不是单次模型调用价格,而是任务在可接受时间内、安全地推进到正确结果的总成本。

Mr数据杨 895

MicroBlaze系列教程(5):AXI_UART16550的使用

axi-uart16550是Xilinx的一款串口IP核,支持配置成16450或16550模式,16550和16450是指的早期电脑主板上的串口芯片型号,16550相比于16450多了FIFO,现在已经很少使用。相比于,16550支持1或2位停止位,包括uartlite所有的功能,而且支持在SDK中灵活对波特率、数据、校验方式进行配置。与uartlite不同的是,不能单独指定发送中断和接收中断函数,只有一个中断函数,通过event参数来区分当前是发送或接收中断。

whik1194的博客 4545

uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案

话不多说,先看下问题描述:使用uni-app开发微信小程序项目,使用的是Vant Weapp实现Tab标签页。要实现跳转过来,显示默认的当前tab。

在这里,我乐于倾囊相授,分享我的技术心得、项目实战经验、技术技巧。希望能够惠及更多的开发者,助力大家在技术的海洋中扬帆远航。 3255

中小企业办公网络配置综合实验华为设备(NAT+策略路由+OSPF+VLAN)

组网需求: 1、PC1、2、3、4均可以访问internet的lo0:8.8.8.8 2、PC1、PC4通过电信ISP访问internet;PC2、PC3通过联通ISP访问internet; 需求分析: 1、internet路由器模拟公网,8.8.8.8模拟公网IP;电信ISP、联通ISP路由器模拟电信和联通运营商;出口路由为企业出口路由器;这四个路由器直连链路之间运行ospf,配置动态路由,实现互通; 2、出口路由与三层交换直连链路运行ospf,动态同步路由信息; 3、出口路由器内网端口配..

A soul tortured by desire 7125

微信小程序van-tab 标签页相关问题处理记录

微信小程序van-tab 标签页相关问题处理记录

代码青春 639

软考中级-软件设计师 Python基础

软考中级-软件设计师 Python知识点整理

片言可决讼,半纸能缚龙 3643

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

van-tab跳转新页面并切换标签页面空白异常处理

微信小程序携带tab参数跳转新页面并调用子组件相关接口页面空白

weixin_44307574的博客 997

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

vant4 van-tabs和van-popup一起使用样式错误

然后很自然的给它加了animated属性(想让页面切换流畅一些),接下来是第一个tab页面中有个弹出层,在弹出层有个列表,自然是用到了。今天做一个tab切换页面,偶然发现这个问题,记录一下。是position:fixed,因此导致该问题出现。样式),然而transform属性会使。那么做tab页面首先是用到了。(注意:这是vant4写法)属性(该属性底层是使用。没有必要的话可以不使用。,最后问题就出现了,

promising_li的博客 1749

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

微信小程序Echarts开发问题

微信小程序Echarts开发常见问题及解决方法:1)环境配置需开启ES6支持;2)模块引用错误可通过添加@ts-ignore注释或检查文件路径解决;3)van-tab切换图表不显示时,使用wx:if条件渲染并设置activeTab状态;4)其他注意事项包括正确引入组件、设置容器宽高和手动重绘等。文章提供了具体代码示例帮助开发者快速定位和解决问题。

longlongValue 727

vant-tab组件搭配van-popup组件弹出只在第一个tab页面显示的问题

今天遇到一问题,在有vant-tab 的第三页调弹出组件van-popup,发现没有反应,原来弹出的内容展现在第一个tab页面了。 解决:其实很简单,只需要给vant-popup 添加一个挂载节点 <van-popup v-model="show" get-container="#app" /> //或 <van-popup v-model="show" get-container="body" /> ...

时光有伱,记忆成花~ 3225

van微信小程序组件tabbar标签使用

根目录新建文件 custom-tab-bar 在custom-tab-bar右键新建Component,index文件 index.js文件data内容为 Component({ properties: {}, data: { active: 0, // 菜单列表 list: [{ "url": "/page/home/home", //地址 "icon": "wap-home-o", //图标 "info": '', //小红点 "text": "首页" }, .

理发 2042

解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab

解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab

weixin_46246967的博客 176

微信小程序 点击显示隐藏 极简Tab标签 点击添加class样式

今天写个Tab标签的点击显示隐藏 我发现有些博客还用dispay:none/block来控制显示隐藏 没必要的 微信小程序中官方文档明确表示hidden属性为共同属性类型 我做了一个案例如图 这种常见的tab导航 显示隐藏 (有些私聊我以后要贴代码块 行吧 一开始不熟悉 ) 先上代码 wxml部分 &amp;amp;amp;lt;!-- tab --&amp;amp;amp;gt; &amp;amp;amp;lt;view class=&amp;a

Battercake的博客 2437

解决IOS上van-popup被底部Tab遮挡问题

van-popup组件的放置位置一定要是templet底下包裹元素的直接子子级。

qq_36626404的博客 4401

微信小程序解决swiper组件高度问题(可实现不同tab栏,swiper组件不同高度)

前言 我们经常会使用微信小程序自带的tab组件与swiper组件搭配来实现漂亮的tab切换页面,但是我们不得不承认swiper组件默认高度的确是很让我们头疼。那么下面我们来实现上图中根据不同的tab页面来使swiper页面动态的变换高度。 干货 wxml <!--index.wxml--> <view class="container"> <view class="tab-body" hover-class="none" hover-stop-propagation=.

主要领域:前端开发 2022

微信小程序 在van-tabs 嵌套scroll-view 场景下,解决scroll-view无法自适应外部组件的高度

虽然van-tab也支持内容滚动,但是我这里因为项目需求,需要对每个van-tab中的内容进行下拉刷新和加载更多,所以我在其中嵌套了一个scroll-view。因为van-tabs和van-tab都是以插槽的方法将内容渲染出来的,但是在开发工具上查看代码,发现这里需要去给van-tabs和van-tab的插槽中的。但是遇到一个问题,scroll-view的高度我设置的height: 100%;大家如果有什么好的解决办法,欢迎留言一起探讨!然后我尝试去覆写了van-tabs的相关样式,

baidu_30578005的博客 512

Vant-Weapp踩坑之van-tabs设置高度

需求: 解决van-tabs无法设置高度问题 实验开始: 说明: 上面两张图片展示了各css样式对应的颜色及其在van-tabs中的作用域 实验过程(源码),采用样式覆盖: /* van-tabs 实验 (勿删)*/ .van-tabs { height: 100px; background-color: red; } .van-tabs__wrap { height: 60px!important; background-color: saddlebrown; } .van-tabs

weixin_43543882的博客 1万+
上一篇: 【自用笔记】小程序 van-uploader 压缩图片
下一篇: 【自用转载】el-uploader上传PDF和图片两种文件
林希雨
博客等级 码龄4年 84粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值