Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >实现导航栏下拉菜单列表页面

实现导航栏下拉菜单列表页面

作者头像
林老师带你学编程
发布于 2019-05-25 13:18:08
发布于 2019-05-25 13:18:08
4.4K0
举报
文章被收录于专栏:强仔仔强仔仔

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1433515

1.wxml页面代码:

<!--选项卡-->

<view class="tabTit box tc bg\_f">

<view class="flex1{{tab[index]?' active':''}}" wx:for="{{tabTxt}}" wx:key="" data-index="{{index}}" bindtap="filterTab">

<text>{{item}}</text>

<image wx:if="{{index === tabTxt.length-1}}" src="/images/arrow.png"></image>

</view>

</view>

<!--筛选项-->

<view class="tabLayer tc" hidden="{{!tabFlag}}">

<text class="{{tabAll==0?'active':''}}" data-id="0" data-index="4" data-txt="全选" bindtap="filter">不限</text>

<text class="{{tabAll==item.id?'active':''}}" wx:for="{{tabList}}" wx:key="" data-id="{{item.id}}" data-index="4" data-txt="{{item.name}}" bindtap="filter">{{item.name}}</text>

</view>

2.app.wxss中添加如下样式:

/* tab下拉样式 */

.bg_f{background: #fff}

.flex1 {

-webkit-box-flex: 1;

-webkit-flex: 1;

-ms-flex: 1;

box-flex: 1;

flex: 1;

overflow: hidden;

display: block;

}

.box {

display: -webkit-box;

display: -webkit-flex;

display: -ms-flexbox;

display: flex;

}

3.wxss页面代码:

/* tab下拉样式 */

.tabTit{height:90rpx;line-height: 90rpx;border-bottom: solid 1px #eee;position:fixed;top:0;width: 750rpx;z-index: 1;background: #f5f5f5;}

.tabTit .active{color:#e64340;background: #fff;}

.tabTit .active image{transform: rotate(180deg);background: none;}

.tabTit image{width:26rpx;height:26rpx;vertical-align: middle;margin-left: 5px;}

.tabLayer{box-shadow: 0 5px 5px rgba(0,0,0,.15);width:750rpx;overflow: hidden;position: fixed;top:90rpx;z-index: 1;background: #fff;padding-bottom: 26rpx;border-bottom: solid 1px #eee;}

.tabLayer text{width:210rpx;height:60rpx;line-height:60rpx;float:left;border: solid 1px #eee;margin:20rpx 0 0 26rpx;}

.tabLayer .active{color:#e64340;border-color:#e64340;}

4.js页面代码:

data数据定义部分:

代码语言:txt
AI代码解释
复制
tabAll: 0,//是否选中
代码语言:txt
AI代码解释
复制
tabFlag: false,
代码语言:txt
AI代码解释
复制
tabTxt: ['首页', '男装', '鞋包', '手机', '全部'],//tab文案
代码语言:txt
AI代码解释
复制
tab: [true, false, false, false, false],
代码语言:txt
AI代码解释
复制
tabList: [{ name: '电器', id: '5' }, { name: '食品', id: '6' },
代码语言:txt
AI代码解释
复制
{ name: '百货', id: '7' }, { name: '服饰', id: '8' },
代码语言:txt
AI代码解释
复制
{ name: '汽车', id: '9' }, { name: '家装', id: '10' },
代码语言:txt
AI代码解释
复制
{ name: '运动', id: '11' }, { name: '母婴', id: '12' },
代码语言:txt
AI代码解释
复制
{ name: '水果', id: '13' }, { name: '内衣', id: '14' },
代码语言:txt
AI代码解释
复制
{ name: '家纺', id: '15' }, { name: '美妆', id: '16' }]

函数部分:

// 选项卡

filterTab: function (e) {

var data = false, false, false, false, false, index = e.currentTarget.dataset.index;

代码语言:txt
AI代码解释
复制
data[index] = !this.data.tab[index];

if (index == 4) {

this.setData({

代码语言:txt
AI代码解释
复制
    tabFlag: true
代码语言:txt
AI代码解释
复制
  })
代码语言:txt
AI代码解释
复制
}else{
代码语言:txt
AI代码解释
复制
 this.setData({
代码语言:txt
AI代码解释
复制
    tabFlag: false
代码语言:txt
AI代码解释
复制
  })
代码语言:txt
AI代码解释
复制
}

this.setData({

代码语言:txt
AI代码解释
复制
  tab: data,
代码语言:txt
AI代码解释
复制
})

},

//筛选项点击操作

filter: function (e) {

var self = this, id = e.currentTarget.dataset.id, txt = e.currentTarget.dataset.txt, tabTxt = this.data.tabTxt, index = e.currentTarget.dataset.index;

代码语言:txt
AI代码解释
复制
tabTxt[index] = txt;
代码语言:txt
AI代码解释
复制
self.setData({
代码语言:txt
AI代码解释
复制
  tabTxt: tabTxt,
代码语言:txt
AI代码解释
复制
  tabAll: id,
代码语言:txt
AI代码解释
复制
  tab: [false, false, false, false, true],
代码语言:txt
AI代码解释
复制
  tabFlag: false
代码语言:txt
AI代码解释
复制
});

},

5.运行截图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年04月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序锚点选择导航栏
<view class='box'> <scroll-view scroll-y scroll-with-animation style="width:25%"> <view
明知山
2020/09/02
1.2K0
小程序三级联动,实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
但是有时候我们想实现三级分类,该怎么做呢,今天就来教大家如何实现三级分类。随便教下大家如何把excel数据批量的导入到云开发数据库
编程小石头
2021/03/28
2.2K0
小程序三级联动,实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
微信小程序电商实战—首页篇(上)
在index.wxml我们使用bindtap进行点击事件监听,设置事件名称为navbarTap并且在index.js里设置这个事件对应的逻辑处理。我们在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item,想要了解wx:for可以参考该资料:https://www.w3cschool.cn/weixinapp/weixinapp-list.html
游离于山间之上的Java爱好者
2022/09/21
1K0
微信小程序电商实战—首页篇(上)
小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
但是有时候我们想实现三级分类,该怎么做呢,今天就来教大家如何实现三级分类。随便教下大家如何把excel数据批量的导入到云开发数据库
编程小石头
2021/04/21
3.6K1
小程序实现综合排序页面布局
在一些场景中,常常会遇到过一个功能,点击什么筛选的,综合排序刷新接口数据,就像下面这样的效果。小程序只是先把页面布局好,数据字段定义好了,就差和后端沟通,按照我这种数据结构写接口了,第一次写小程序项目,开始慢慢踩坑,把遇到的问题都慢慢总结一下,
小周sir
2019/09/23
7470
小程序实现综合排序页面布局
微信小程序导航栏页面滑动切换
<view class="banner"> <scroll-view scroll-x="true" scroll-with-animation="true" scroll-into-view="
明知山
2020/09/17
5.5K1
微信小程序导航栏页面滑动切换
【黄啊码】微信小程序向下弹出菜单,包含筛选功能
要解决的问题 标签栏三栏样式,标签栏固定不动; 点击标签栏弹出菜单,并且出现透明遮罩; 遮罩优先级在弹出框之下; 弹出框内标签的设置; 滚动栏滚动条的隐藏 如何解决? 弹性布局,横向,三者平分整栏; 状态监听点击事件,数据控制hide或者show,通过rgba设置透明度 弹出框设置z-index; 弹性布局flex 横向排列 超出后wrap 然后space-around控制间距 ::-webkit-scrollbar { width: 0; height: 0; color: transparent;
黄啊码
2022/06/15
5310
【黄啊码】微信小程序向下弹出菜单,包含筛选功能
小程序顶部导航栏,可滑动,可动态选中放大
代码里注释很明白了,大家自己跟着多敲几遍就可以了。后面会更新更多小程序相关的知识,请持续关注。
编程小石头
2020/10/11
1.7K0
微信小程序开发-多条件搜索tab展示
小程序开发的过程中列表页面的搜索项太多,需要合理的利用交互方式来达到功能效果,先看下效果图
code2roc
2023/07/19
3910
微信小程序开发-多条件搜索tab展示
【愚公系列】2022年11月 微信小程序-优购电商项目-商品购物车页面
网上购物车是顾客在进行网上购物时所必须使用的购物工具。它用来临时存储用户选择的商品,协助顾客从虚拟商场中选取商品、携带商品,并到虚拟的收银台结账。
愚公搬代码
2022/11/14
4480
【愚公系列】2022年11月 微信小程序-优购电商项目-商品购物车页面
微信小程序向左滑动删除操作(类仿微信、QQ)
上一个小程序的项目里面做过这个功能,当时没有记录下来,今天特意做了一个小的demo放在了github上面,下次在开发中遇到的话就可以直接拿下来代码复用了。效果很简单,类似于微信扣扣删除聊天栏的效果,想左滑动,出现删除按钮,点击即可删除。
王小婷
2018/12/24
3.6K1
微信小程序 点击显示隐藏 极简Tab标签 点击添加class样式
今天写个Tab标签的点击显示隐藏 我发现有些博客还用dispay:none/block来控制显示隐藏 没必要的 微信小程序中官方文档明确表示hidden属性为共同属性类型
煎饼
2022/12/13
2.3K0
微信小程序  点击显示隐藏    极简Tab标签  点击添加class样式
微信小程序——代码片段汇集
作者:beatzcs 链接:https://www.jianshu.com/p/c681007a6287
思索
2024/08/16
1540
小程序todolist
  上节详细描述了小程序环境搭建,承诺了这节讲todolist,我猜大家都是学习过 vue 或者 react 之后才学习小程序的,对于todolist 的逻辑问题我暂不做详细描述,如果遇到些许问题,请及时留言或评论在下方,本人常在。
我不是费圆
2020/12/17
9120
【愚公系列】2022年11月 微信小程序-优购电商项目-意见反馈页面
对于需要收集产品上线后用户实际使用感受的,意见反馈绝对是一个很好用的功能,开发设计成本很低,却能获得比较显著的效果,但就因为是小功能,所以往往不被重视。如果一个产品是有长远发展规划的,个人觉得应该在产品的第一个版本上线的时候就应该配备意见反馈的功能,这里所能收集到的有需求,有 BUG,还有其他的,只要有问题,就能找到解决的办法,没有任何反馈的时候,就只能靠产品的规划和设计师的水平了,当然也不是一味的遵循用户的意见,但绝对是一个非常好的参考来源。
愚公搬代码
2022/11/16
4590
【愚公系列】2022年11月 微信小程序-优购电商项目-意见反馈页面
小程序搜索弹出搜索内容功能(模糊查询)
功能:在搜索界面,搜索输入的字符,如果有匹配,就会显示出来。 wxml <view class="page"> <view class="page__bd"> <view class="w
王小婷
2019/02/21
6.5K0
小程序搜索弹出搜索内容功能(模糊查询)
自定义微信导航栏
虽然自定义效果还不错,但是要注意进行微信版本的兼容问题,window.navigationStyle 只能支持 6.6.0 以上微信版本,对应基础库版本为 1.9.1。如果需要针对低版本微信进行兼容,要做好兼容性适配。
前端黑板报
2018/12/21
9040
微信小程序实现各种特效实例
写在前面 最近在负责一个微信小程序的前端以及前后端接口的对接的项目,整体上所有页面的布局我都已经搭建完成,里面有一些常用的特效,总结一下,希望对大家和我都能有所帮助 实例1:滚动tab选项卡 先看一下
okaychen
2018/01/05
4.1K3
微信小程序实现各种特效实例
小程序 tab 滚动列表优化方案
今天在做百度小程序的转换,发现真机上用之前的swiper-item结合scroll-view 实现的Tab列表的效果不理想,于是我重新思考,发现了一种更合适的方案。
前端开发博客
2020/11/04
2.1K0
小程序 tab 滚动列表优化方案
【愚公系列】2022年02月 微信小程序-app.json配置属性之entryPagePath
指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。
愚公搬代码
2022/02/22
9800
【愚公系列】2022年02月 微信小程序-app.json配置属性之entryPagePath
推荐阅读
相关推荐
微信小程序锚点选择导航栏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档