美文网首页
微信小程序组件: Tabs

微信小程序组件: Tabs

作者: 牛会骑自行车 | 来源:发表于2022-09-29 14:54 被阅读0次

涉及小知识:小程序组件动态传值~芜湖我太开心啦
其实很多知识都是通着的..只是有些时候可能钻进了牛角尖于是就把自己卡死了哈哈哈一个农村大道理送给大家:卡死的地方不要硬挤,出来逛一会儿就好了😊

进入正题!
实现思路用的是很基础的那啥..怎么说nié?

  1. 定义变量active啥啥啥,代表当前展示页,以它为基准,tab和内容一起动
  2. 讲完了.........

上代码💃
wxml ⬇️:分为两部分,上面的tab栏和下面的内容

<view class="tabs-container">
  <view class="pane-con f_r">
    // tab栏
    <block wx:for="{{tabs}}" wx:key="*this">
      <view class="tabs-pane n_r {{index === activeTab ? 'active' : ''}}" bindtap="switchTab" data-index="{{index}}">{{item}}</view>
    </block>
  </view>
  // 内容部分
  <block wx:for="{{tabs}}" wx:key="*this">
    <view class="tabs-content border" wx:if="{{activeTab === index}}">
      // 插槽儿传动态值,以index为准,可以根据需求进行修改
      <slot name="{{index}}"></slot>
    </view>
  </block>
</view>

wxss ⬇️: 没什么特别的设计,只是注意区分寻常样式与选中时的区分

.pane-con {
  margin: 20rpx 0;
}
.tabs-pane {
  padding: 10rpx 20rpx;
  margin-right: 20rpx;
  border: 1px solid lightgrey;
}
.tabs-pane:nth-last-child(1) {
  margin-right: 0;
}
.tabs-pane.active {
  background: #5495df;
  border-color: #5495df;
  color: #fff;
}

js文件 ⬇️: 目前只是很简单的数组儿,里面放tabs的label就好.将来如果有其它需求再优化即可

Component({
  options: {
    multipleSlots: true
  },
  properties: {
    tabs: {
      required: true,
      type: Array,
      value: () => {
        return []
      }
    },
    activeTab: {
      type: Number,
      value: 0
    }
  },
  methods: {
    switchTab(event) {
      this.setData({
        activeTab: event.currentTarget.dataset.index
      })
    }
  }
})

使用页面 ⬇️: 插槽儿部分可以使用wx:for我试过啦,不过tabs用循环有点奇怪😂不过适用于只有数据产生变化的情况~

<tabs tabs="{{tabsList}}">
  <view slot="0">0</view>
  <view slot="1">1</view>
  <view slot="2">2</view>
  <view slot="3">3</view>
</tabs>

tada~~一个tabSwitch就完成啦💃

相关文章

  • 微信小程序tabs组件

    自定义组件教程参考教程1参考教程2 组件之间的关联 tabs 内部包含tab,relations 是parent ...

  • 微信小程序组件: Tabs

    涉及小知识:小程序组件动态传值~芜湖我太开心啦其实很多知识都是通着的..只是有些时候可能钻进了牛角尖于是就把自己卡...

  • 小程序好文集合

    组件篇 微信小程序:组件实践 整体梳理 微信小程序开发深入解读

  • 微信小程序-canvas压缩图片使用入门

    微信小程序canvas组件官方文档 微信小程序canvas组件官方文档canvas API canvas组件介绍 ...

  • 微信小程序日历组件开发

    # 微信小程序日历组件开发 微信小程序基础知识 微信小程序 框架介绍 组件文档 上述是开发小程序的基本知识。 今天...

  • 微信小程序基础

    微信小程序介绍微信小程序开发工具的使用微信小程序框架文件微信小程序逻辑层微信小程序视图层微信小程序组件介绍微信小程...

  • 微信小程序组件探究和应用

    把玩微信小程序组件 微信小程序把玩《二》:页面生命周期,模块化,数据绑定,view组件 微信小程序把玩《三》:sc...

  • 微信小程序性能优化实践

    历史回顾: 微信小程序自定义组件 - 表格组件来啦 通过微信小程序来实现 “钉钉打卡” 记一次微信小程序项目分包,...

  • 微信小程序动态设置tabs组件的高度

    微信小程序的tabs组件真的很d 疼 ,由于采用的是swiper的缘故,所以它的默认高度只有150px;现在假设有...

  • 微信小程序组件化开发

    什么是组件化开发 微信小程序的组件和Vue的组件非常相似。 在微信小程序中有很多内置组件,比如button vie...

网友评论

      本文标题:微信小程序组件: Tabs

      本文链接:https://www.haomeiwen.com/subject/gskkartx.html