小程序封装tab组件

简介: 小程序封装tab组件

在封装组件的时候,我们需要创建一个文件夹,用来专门管理我们封装的组件哈~;


这个文件夹的名字就是components;


然后右击这个文件夹;再次创建一个文件夹,就命名为你的组件名称(tab文件夹 也就是组件名);


(以上的步骤就是连续两次创建文件夹哈~)


然后右击,选择创建component;


这样就完成了组件的创建哈~


我们创建的组件在app.json中是不会记录我们创建的组件;


只会记录我们创建的页面


=====》tab切换组件的封装


wx:key="{{index}} 绑定标识  它的下标是从0开始的
{{currentIndex==index ? "active" : ""}}' bindtap='clickitem'   三目运算 为真 添加一个类active
data-index="{{index}}" 动态传递参数
================================================================================
<text>{{item}}</text>  目的是可以控制下划线
.active text{
  padding: 20rpx 20rpx; 
  border-bottom: 6rpx solid pink;
}
let index = event.currentTarget.dataset.index;//拿到点击的下标
bind:itemclick="getleibuClick" 自定义事件


输出内部的数据


 getleibuClick(event){
    console.log(event)
  }


组件开始


<view class='tab-contrao'>
<block wx:for="{{titles}}" wx:key="{{index}}">
   <view class='tab-item {{currentIndex==index ? "active" : ""}}' bindtap='clickitem' data-index="{{index}}">
      <text>{{item}}</text>
   </view>
</block>
</view>
.tab-contrao{
  display: flex;
  height: 88rpx;
  line-height: 88rpx;
  background: orange;
  margin-top:20rpx;
}
.tab-item{
  flex: 1;
  text-align: center;
}
.active{
  color: red;
}
.active text{
  padding: 20rpx 20rpx; 
  border-bottom: 6rpx solid pink;
}
properties: {
    titles:{
      type:Array,
      value:[],
    }
  },
  /**
   * 组件的初始数据
   */
  data: {
    currentIndex:0,
  },
  /**
   * 组件的方法列表
   */
  methods: {
    clickitem(event){
      let index = event.currentTarget.dataset.index;//拿到点击的下标
      this.setData({
        currentIndex: index// event.currentTarget.dataset.index 是传递过来index
      })
      // 通知外部  内部发生了什么事情
      // itemclick 事件名
      // index  点击的序号
      //  title: this.properties.titles[index]  内容
      this.triggerEvent("itemclick", { index: index, title: this.properties.titles[index] })
    },
  },
<!-- tab -->
<aa  titles="{{['精品','优惠','美剧']}}" bind:itemclick="getleibuClick"/>
  getleibuClick(event){
    console.log(event)
  }
相关文章
|
1月前
|
JSON 小程序 前端开发
终于搞懂了!微信小程序的渲染机制及组件使用
【8月更文挑战第8天】微信小程序的渲染机制及组件使用
72 3
终于搞懂了!微信小程序的渲染机制及组件使用
|
21天前
|
小程序 数据安全/隐私保护
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
在 `src/http` 目录下创建 `request.ts` 文件,并配置 Taro 的网络请求方法 `Taro.request`,支持多种 HTTP 方法并处理数据加密。
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
|
1月前
|
人工智能 小程序 编译器
Ant Design Mini 问题之Antd Mini 使用小程序函数式组件(functional-mini)来确保组件逻辑适配到双端,如何实现
Ant Design Mini 问题之Antd Mini 使用小程序函数式组件(functional-mini)来确保组件逻辑适配到双端,如何实现
|
1月前
|
小程序 前端开发 API
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决
Ant Design Mini 问题之在微信小程序中,由于不支持slot特性,Ant Design Mini的什么组件功能受到了限制,如何解决
|
1月前
|
小程序
|
2月前
|
小程序
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
跨端技术问题之页面或组件样式在小程序、小程序插件和小程序分包中有什么差异
|
2月前
|
小程序
【微信小程序-原生开发】列表 - 拖拽排序(官方组件 movable-area 和 movable-view 的用法)
【微信小程序-原生开发】列表 - 拖拽排序(官方组件 movable-area 和 movable-view 的用法)
163 0
|
2月前
|
小程序 数据库
【微信小程序-原生开发】实用教程15 - 列表的排序、搜索(含云数据库常用查询条件的使用方法,t-search 组件的使用)
【微信小程序-原生开发】实用教程15 - 列表的排序、搜索(含云数据库常用查询条件的使用方法,t-search 组件的使用)
56 0
|
20天前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
44 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
20天前
|
小程序 前端开发 JavaScript
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【避坑宝】是一款企业黑红名单吐槽小程序,旨在帮助打工人群体辨别企业优劣。该平台采用SpringBoot+MybatisPlus+uniapp+uview2等技术栈构建,具备丰富的注释与简洁的代码结构,非常适合实战练习与学习。通过小程序搜索“避坑宝”即可体验。
44 0
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序