微信小程序如何实现自定义tab的多层嵌套功能?

更新于
2026-09-25 02:00:28
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计645个文字,预计阅读时间需要3分钟。

微信小程序如何实现自定义tab的多层嵌套功能?

本文以微信小程序为例,分享了如何自定义tab实现多层嵌套的组件整体代码。以下内容仅供参考,适合初学者和希望学习相关技术的读者。

微信小程序自定义tab实现多层嵌套组件代码示例

{{item.title}} {{subItem.title}}

Page({ data: { tabs: [ { title: 'Tab 1' }, { title: 'Tab 2' }, { title: 'Tab 3' } ], subTabs: [ { title: 'Sub Tab 1' }, { title: 'Sub Tab 2' } ], currentIndex: 0 }, changeTab: function(e) { this.setData({ currentIndex: e.currentTarget.dataset.index }); }, changeSubTab: function(e) { // 在此处添加子tab切换逻辑 }});

参考与学习

* 微信小程序官方文档* 微信小程序开发者社区* 相关技术博客和教程

学习与交流

希望本文能帮助您更好地学习微信小程序自定义tab实现多层嵌套组件。欢迎加入交流学习!

微信小程序如何实现自定义tab的多层嵌套功能?

本文实例为大家分享了微信小程序自定义tab实现多层tab嵌套的具体代码,供大家参考,具体内容如下

仅供参考,刚学,不对的地方希望交流学习

HTML:

<template>      <view class="">          <view class="end-title">            <p @tap="change(0)" :class="{btn:btnnum == 0}">服务</p>            <p @tap="change(1)" :class="{btn:btnnum == 1}">评价</p>          </view>          <view class="end-cont" :class="{dis:btnnum == 0}">             <view class="end-title">               <view @tap="change1(0)" :class="{btna:bu == 0} " >洗车</view>               <view @tap="change1(1)" :class="{btna:bu == 1}">保养</view>                 <view @tap="change1(2)" :class="{btna:bu == 2}">轮胎</view>               <view @tap="change1(3)" :class="{btna:bu == 3}">安装</view>             </view>             <view class="end-cont" :class="{dis:bu == 0}">                洗车             </view>             <view class="end-cont" :class="{dis:bu == 1}">                保养             </view>             <view class="end-cont" :class="{dis:bu == 2}">                轮胎             </view>             <view class="end-cont" :class="{dis:bu == 3}">                安装             </view>          </view>          <view class="end-cont" :class="{dis:btnnum == 1}">             评论          </view>      </view> </template>

js部分

export default {         data(){`在这里插入代码片`             return{                  btnnum: 0,                  bu:0             }         },         methods: {           change(e) {                this.btnnum = e                console.log(this.btnnum)            },            change1(e){                this.bu=e                console.log(this.bu)            }         }     }

css部分:

/* 将三个内容view的display设置为none(隐藏) */     .end-title{         display: flex;              }     .end-title p{         flex-grow: 1;         text-align: center;     }     .end-title view{         flex-grow: 1;         text-align: center;         background-color: #6666660d;         width: 20%;         margin:0 20rpx ;         border-radius: 20rpx;     }     .end-cont{         margin: 0 10rpx;         display: none;         background:#fff;         /* border: 1px solid ; */         /* background-color: #999999; */         border-radius: 5px;     }     .btn{          color: red;     }     .btna{         color: red;         background: #e8dcdb;              }     .dis{         display: block;     }

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计645个文字,预计阅读时间需要3分钟。

微信小程序如何实现自定义tab的多层嵌套功能?

本文以微信小程序为例,分享了如何自定义tab实现多层嵌套的组件整体代码。以下内容仅供参考,适合初学者和希望学习相关技术的读者。

微信小程序自定义tab实现多层嵌套组件代码示例

{{item.title}} {{subItem.title}}

Page({ data: { tabs: [ { title: 'Tab 1' }, { title: 'Tab 2' }, { title: 'Tab 3' } ], subTabs: [ { title: 'Sub Tab 1' }, { title: 'Sub Tab 2' } ], currentIndex: 0 }, changeTab: function(e) { this.setData({ currentIndex: e.currentTarget.dataset.index }); }, changeSubTab: function(e) { // 在此处添加子tab切换逻辑 }});

参考与学习

* 微信小程序官方文档* 微信小程序开发者社区* 相关技术博客和教程

学习与交流

希望本文能帮助您更好地学习微信小程序自定义tab实现多层嵌套组件。欢迎加入交流学习!

微信小程序如何实现自定义tab的多层嵌套功能?

本文实例为大家分享了微信小程序自定义tab实现多层tab嵌套的具体代码,供大家参考,具体内容如下

仅供参考,刚学,不对的地方希望交流学习

HTML:

<template>      <view class="">          <view class="end-title">            <p @tap="change(0)" :class="{btn:btnnum == 0}">服务</p>            <p @tap="change(1)" :class="{btn:btnnum == 1}">评价</p>          </view>          <view class="end-cont" :class="{dis:btnnum == 0}">             <view class="end-title">               <view @tap="change1(0)" :class="{btna:bu == 0} " >洗车</view>               <view @tap="change1(1)" :class="{btna:bu == 1}">保养</view>                 <view @tap="change1(2)" :class="{btna:bu == 2}">轮胎</view>               <view @tap="change1(3)" :class="{btna:bu == 3}">安装</view>             </view>             <view class="end-cont" :class="{dis:bu == 0}">                洗车             </view>             <view class="end-cont" :class="{dis:bu == 1}">                保养             </view>             <view class="end-cont" :class="{dis:bu == 2}">                轮胎             </view>             <view class="end-cont" :class="{dis:bu == 3}">                安装             </view>          </view>          <view class="end-cont" :class="{dis:btnnum == 1}">             评论          </view>      </view> </template>

js部分

export default {         data(){`在这里插入代码片`             return{                  btnnum: 0,                  bu:0             }         },         methods: {           change(e) {                this.btnnum = e                console.log(this.btnnum)            },            change1(e){                this.bu=e                console.log(this.bu)            }         }     }

css部分:

/* 将三个内容view的display设置为none(隐藏) */     .end-title{         display: flex;              }     .end-title p{         flex-grow: 1;         text-align: center;     }     .end-title view{         flex-grow: 1;         text-align: center;         background-color: #6666660d;         width: 20%;         margin:0 20rpx ;         border-radius: 20rpx;     }     .end-cont{         margin: 0 10rpx;         display: none;         background:#fff;         /* border: 1px solid ; */         /* background-color: #999999; */         border-radius: 5px;     }     .btn{          color: red;     }     .btna{         color: red;         background: #e8dcdb;              }     .dis{         display: block;     }

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。