封装tab组件
=====》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)
}
封装tab组件的更多相关文章
- JGUI源码:Tab组件实现(9)
程序界面效果如下 Tab组件由多个TabItem组成,超出部分隐藏,可以通过左右按钮滑动显示出来 1.封装 // 初始化内容 $(function () { J.JTab($(".jgui- ...
- 使用react context实现一个支持组件组合和嵌套的React Tab组件
纵观react的tab组件中,即使是github上star数多的tab组件,实现原理都非常冗余. 例如Github上star数超四百星的react-tab,其在render的时候都会动态计算哪个tab ...
- vue封装tab切换
vue封装tab切换 预览: 第一种 通过父传子标题,子传父事件 子组件 <template> <div class='app'> <div class="ta ...
- 使用shadow dom封装web组件
什么是shadow dom? 首先我们先来看看它长什么样子.在HTML5中,我们只用写如下简单的两行代码,就可以通过 <video> 标签来创建一个浏览器自带的视频播放器控件. <v ...
- 巧用tab组件实现APP的布局效果
1. 版本说明 iOS/Android支持版本 jar包版本 8.4及往后版本 2017年4月1日 2. 描述 tab布局能避免多层次钻取与返回,可以在一个报表内部进行切换,钻取层数如果过多的话,看报 ...
- 封装bootstrap-treegrid组件
封装bootstrap-treegrid组件 阅读目录 一.开源的treegrid 1.组件效果预览 2.组件开源地址 二.封装treegrid 1.组件封装的必要性 2.组件封装代码示例 3.封 ...
- asp.net core封装layui组件示例分享
用什么封装?自然是TagHelper啊,是啥?自己瞅文档去 在学习使用TagHelper的时候,最希望的就是能有个Demo能够让自己作为参考 怎么去封装一个组件? 不同的情况怎么去实现? 有没有更好更 ...
- 关于elementUi tab组件路由跳转卡死问题
好久没来了,周五项目终于要上线了(*^▽^*),上线之前测出一个很恶心的bug真真是... 项目:Vue + elementUi 后台管理项目 问题描述:登录后首次通过侧边栏路由跳转到主页面有ta ...
- react初探(二)之父子组件通信、封装公共组件
一.前言 在组件方面react和Vue一样的,核心思想玩的就是组件,下面举两个组件常用的情景. 场景一:假如我们现在有一个页面包含表格以及多个弹框,这种时候如果将这个页面的业务代码写在一个组件中,那么 ...
随机推荐
- 6.Java基础_Java自增自减/关系/逻辑/三元运算符
/* 自增自减运算符 关系运算符 逻辑运算符 三元运算符 (同C++) */ public class OperatorDemo01 { public static void main(String[ ...
- 三、排序算法总结一(冒泡排序,插入排序,选择排序)(C++版本)
一.引言 对于各种排序算法也算是有了一定的了解,所以这里做一个总结. 二.冒泡排序法. 这是比较经典的排序算法,主要是通过内外两层的循环比较,使得乱序变为顺序. 下面是一个测试代码 #include ...
- 2.git的 分支管理
一般我们进行提交的时候.都是在master上面提交的. git status 查看当前分支. [root@localhost jenkins_git]# git branch about * mast ...
- 多线程(六)多线程同步_SemaPhore信号量
信号量依然是一种内核同步对象,它的作用在于控制共享资源的最大访问数量 例如:我们有一个服务器,为这服务器创建一个线程池,线程池有五个线程,每个线程处理1个请求.当五个线程都在处理请求时,这个线程池己到 ...
- Python学习笔记5 【转载】基本矩阵运算_20170618
需要 numpy 库支持 保存链接 http://www.cnblogs.com/chamie/p/4870078.html 1.numpy的导入和使用 from numpy import *;#导入 ...
- 剑指Offer-26.二叉搜索树与双向链表(C++/Java)
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 分析: 创建两个指针,分别指向要处理的当前元素和当前元素的前一个元素.利用中 ...
- luoguP4331 [BOI2004]Sequence 数字序列
题意 大力猜结论. 首先将所有\(a_i\)变为\(a_i-i\),之后求不严格递增的\(b_i\),显然答案不变,最后\(b_i\)加上\(i\)即可. 考虑两种特殊情况: 1.\(a[]\)是递增 ...
- 执行flutter doctor后,无任何反应
flutter运行需要联网,并且由于qiang,会导致访问缓慢,解决办法 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_ ...
- VBS实现UTC时间和本地时间互转
本地时间转UTC时间 dim SWDT, datetime, utcTime Set SWDT = CreateObject("WbemScripting.SWbemDateTime&quo ...
- 洛谷P4169 [Violet]天使玩偶/SJY摆棋子
%%%神仙\(SJY\) 题目大意: 一个二维平面,有两种操作: \(1.\)增加一个点\((x,y)\) \(2.\)询问距离\((x,y)\)曼哈顿最近的一个点有多远 \(n,m\le 300 0 ...