微信小程序 tabs选项卡效果的实现

发布时间 - 2026-01-10 22:19:55    点击率:

微信小程序 tabs选项卡效果

前言:

最近微信应用号是炒的如火如荼,热门满满,但是也可以发现搜索关键词出来,各类网站出现的还都是微信的官方文档解释。正好赶上这个热潮,这几天先把小程序技术文档看了个遍,就直接着手写案例了。很多组件微信内部已经封装完了,正好发现没有tab选项卡效果,这两天正好研究了下。思路如下:

1.首先点击导航的时候需要两个变量,一个存储当前点击样式类,一个是其它导航默认的样式类

2.选项卡内容列表同样也需要两个变量,一个存储当前显示块,一个存储的是其它隐藏的默认块

3.使用三目运算通过点击获取导航索引,根据索引判断是否添加当前类【备注,这里我将点击事件绑定在父级导航栏,通过target对象得到点击触发的事件对象属性】

请结合如下效果图:

 接下来直接查看源码:

demo.wxml:

<view class="tab"> 
<view class="tab-left" bindtap="tabFun"> 
 <view class="{{tabArr.curHdIndex=='0'? 'active' : ''}}" id="tab-hd01" data-id="0">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='1'? 'active' : ''}}" id="tab-hd02" data-id="1">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='2'? 'active' : ''}}" id="tab-hd03" data-id="2">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='3'? 'active' : ''}}" id="tab-hd04" data-id="3">tab-hd01</view> 
</view> 

<view class="tab-right"> 
 <view class="right-item {{tabArr.curBdIndex=='0'? 'active' : ''}}">tab-bd01</view> 
 <view class="right-item {{tabArr.curBdIndex=='1'? 'active' : ''}}">tab-bd02</view> 
 <view class="right-item {{tabArr.curBdIndex=='2'? 'active' : ''}}">tab-bd03</view> 
 <view class="right-item {{tabArr.curBdIndex=='3'? 'active' : ''}}">tab-bd04</view> 
</view> 
</view>

demo.js:

Page( { 
data: { 
 tabArr: { 
  curHdIndex: 0, 
  curBdIndex: 0 
 }, 
}, 
tabFun: function(e){ 
 //获取触发事件组件的dataset属性 
 var _datasetId=e.target.dataset.id; 
 console.log("----"+_datasetId+"----"); 
 var _obj={}; 
 _obj.curHdIndex=_datasetId; 
 _obj.curBdIndex=_datasetId; 
 this.setData({ 
  tabArr: _obj 
 }); 
}, 
onLoad: function( options ) { 
 alert( "------" ); 
} 
});

demo.wxss:

.tab{ 
 display: flex; 
 flex-direction: row; 
} 
.tab-left{ 
 width: 200rpx; 
 line-height: 160%; 
 border-right: solid 1px gray; 
} 
.tab-left view{ 
 border-bottom: solid 1px red; 
} 
.tab-left .active{ 
 color: #f00; 
} 
.tab-right{ 
 line-height: 160%; 
} 
.tab-right .right-item{ 
 padding-left: 15rpx; 
 display: none; 
} 
.tab-right .right-item.active{ 
 display: block; 
}

最终演示效果如下:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # tabs选项卡  # tabs选项卡实现实例代码  # tabs  # 微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换  # 微信小程序实现选项卡功能  # 微信小程序的tab选项卡的实现效果  # 微信小程序 选项卡的简单实例  # 微信小程序开发之选项卡(窗口底部TabBar)页面切换  # 微信小程序实战之顶部导航栏(选项卡)(1)  # 微信小程序实现顶部选项卡(swiper)  # 微信小程序自定义组件实现tabs选项卡功能  # 微信小程序实现选项卡的简单实例  # 微信小程序实现选项卡的方法  # 选项卡  # 的是  # 都是  # 文档  # 看了  # 希望能  # 我将  # 这几天  # 如火如荼  # 谢谢大家  # 先把  # 这两天  # 绑定  # 判断是否  # left  # bindtap  # gt  # lt  # js  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何与Inertia.js和Vue/React构建现代单页应用  Android Socket接口实现即时通讯实例代码  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  利用JavaScript实现拖拽改变元素大小  如何在阿里云香港服务器快速搭建网站?  Python函数文档自动校验_规范解析【教程】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel如何使用模型观察者?(Observer代码示例)  网站优化排名时,需要考虑哪些问题呢?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  原生JS实现图片轮播切换效果  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何快速重置建站主机并恢复默认配置?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何使用Blade模板引擎?(完整语法和示例)  linux写shell需要注意的问题(必看)  Android自定义控件实现温度旋转按钮效果  如何快速完成中国万网建站详细流程?  如何快速使用云服务器搭建个人网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  PHP 500报错的快速解决方法  高端智能建站公司优选:品牌定制与SEO优化一站式服务  晋江文学城电脑版官网 晋江文学城网页版直接进入  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在建站之星网店版论坛获取技术支持?  浅述节点的创建及常见功能的实现  Laravel如何实现多对多模型关联?(Eloquent教程)  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  如何快速搭建安全的FTP站点?  如何在服务器上配置二级域名建站?  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  在centOS 7安装mysql 5.7的详细教程  Laravel如何使用查询构建器?(Query Builder高级用法)  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel如何与Pusher实现实时通信?(WebSocket示例)  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  无锡营销型网站制作公司,无锡网选车牌流程?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】