微信小程序制作页面内导航栏
描述
项目要写一个页面内的导航栏,功能包括点击更改导航栏的样式,切换数据源。
成果
介绍
首先对导航栏设置flex布局,让三个导航标签评分屏幕,之后设置点击事件,样式改变和数据切换
代码
wxml
<view class="appear-container"><!-- 搜索框 --><view class="search"><view class="search-box"><image class="search-icon" src="./img/search.png" mode="" /><input class="search-text" type="text" placeholder="请输入诉求名称" /></view></view><!-- /搜索框 --><!-- 导航栏 --><view class="nav"><view wx:for="{{navList}}" class="nav-item {{item.index==chosed?'nav-active':''}}" data-index="{{item.index}}" bindtap="navChange">{{item.title}}</view></view><!-- /导航栏 --><!-- 内容主体 --><view class="content"><!-- 遍历数据,同时根据所选导航栏item展示数据源 --><view wx:for="{{chosed==0?contentList:(chosed==1?contentList1:contentList2)}}" class="content-box"><view class="box-title">{{item.title}}</view><view class="box-date">{{item.time}}</view><view class="content-status {{item.status==0?'content-status-blue':'content-status-green'}} ">{{item.status==0?'处理中':'已完成'}}</view></view></view><!-- /内容主体 -->
</view>
wxss
.appear-container {display: flex;flex-direction: column;justify-items: flex-start;height: 100vh;
}
/* 搜索框 */
.search {padding: 5px 20px;
}.search-box {display: flex;justify-content: flex-start;align-items: center;height: 32px;padding: 0 13px;border-radius: 16px;background-color: #F5F6F7;
}.search-icon {height: 16px;width: 16px;margin-right: 10px;
}
/* 导航栏 */
.nav {display: flex;justify-content: space-evenly;height: 44px;line-height: 44px;
}.nav-item {height: 98%;font-weight: 400;font-size: 16px;color: #8A8F99;
}.nav-active {color: #000000;font-weight: 600;border-bottom: 2px solid #549BF0;
}
/* 内容主体 */
.content {flex: 1;padding: 0 20px;background-color: #E9EBEF;
}.content-box {position: relative;margin-top: 20px;padding: 0 16px;overflow: hidden;background-color: #fff;
}.box-title {padding: 12px 0;color: #2E3033;font-weight: 520;font-size: 16px;word-break: break-all;border-bottom: 1px solid #DDE0E4;
}.box-date {padding: 12px 0;color: #6A707B;font-weight: 400;font-size: 14px;word-break: break-all;
}.content-status {position: absolute;top: 7px;right: -20px;height: 20px;width: 72px;font-weight: 400;font-size: 12px;line-height: 20px;text-align: center;transform: rotate(45deg);
}
/* 处理中 */
.content-status-blue{color: #549BF0;background-color: #EEF6FF;
}
/* 已完成 */
.content-status-green{color: #1BBD8C;background-color:#E9FCF6
}
ts
Page({/*** 页面的初始数据*/data: {//标签列表navList: [{ title: '全部', index: 0 },{ title: '处理中', index: 1 },{ title: '已完成', index: 2 },],// 被选中的下标chosed: 0,// 内容主体数据contentList: [{title: '穿越到古代',time: '2022-08-28 15:37',status: 1},{title: '当伪装太监',time: '2022-07-18 15:37',status: 1},{title: '攻略皇帝的嫔妃',time: '2022-09-38 15:37',status: 0}],contentList1: [{}],contentList2: [{}],},//监听事件//导航栏切换事件navChange(e: any) {//todo:切换样式 更改index,以便切换主体内容//通过更给chosed来更改样式和数据源let index = e.currentTarget.dataset.index;this.setData({chosed: index,})},onLoad() {//将拿到的数据进行处理,分类var contentList01 = this.data.contentList.filter(currentValue => { return currentValue.status == 0 })var contentList02 = this.data.contentList.filter(currentValue => { return currentValue.status == 1 })this.setData({contentList1: contentList01,contentList2: contentList02,})}})
总结
通过切换chosed来切换样式和数据源,
继续努力
微信小程序制作页面内导航栏相关推荐
- 微信小程序——不同角色的导航栏显示不同
文章目录 问题描述 解决方法 代码实现 底部导航栏 排查员 存在的问题 问题描述 微信小程序的原生底部导航栏限制了数量(3-5个)且不能根据你的不用用户进行动态的底部导航栏变化,无法适应多种用户从 ...
- 微信小程序开发错误——底部导航栏没有显示完全
微信小程序开发错误--底部导航栏没有显示完全 原因:由于在app.json中设置跳转页面时,假设有A.B.C.D四个图标(点击可以跳转),B和C的跳转页面相同,C的图标就会覆盖B的图标,B的图标就相当 ...
- 微信小程序实现左侧滑动导航栏
微信小程序实现左侧滑动导航栏 1.左侧滑动导航栏图如下 2.这是我们左侧滚动栏的代码 wxml <view class='under_line'></view><view ...
- 微信小程序自定义头部标题导航栏
/*** 微信小程序头部自定义标题导航栏* * 参数:* pageTitle: 导航栏标题,默认不显示* navColor: 导航栏背景颜色,默认白色,透明为'transparent'属性值* noS ...
- 微信小程序实现自定义顶部导航栏(选项卡),固定导航栏和可滑动导航栏
微信小程序实现自定义顶部导航栏(选项卡),固定导航栏和可滑动导航栏 固定导航栏 可滑动导航栏 顶部导航栏的需求实现: 顶部导航栏由列表渲染,通过tabclick点击事件改变activeIndex变量的 ...
- html底部导航栏图标切换,【微信小程序】自定义底部导航栏,切换不同页面显示不同tabbar...
https://blog.csdn.net/small_lack/article/details/80959278 在一个微信小程序中想要用到两种不同的tabbar样式,需要在app.js中自定义,在 ...
- 微信小程序购物车和左侧导航栏
先上实现图 话不多说,直接上代码 cars.js // const arr = require("../../utils/data"); // pages/cars/cars.j ...
- 微信小程序中自定义背景导航栏透明背景设置
首先确定好自己要在哪个页面中使用自定义头部导航栏样式 在该页面中找到xxx.json文件中添加上 "navigationStyle":''custom" 这样在页面中头部 ...
- 初尝微信小程序2-Swiper组件、导航栏标题配置
swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...
最新文章
- Windows Server 2008 下ASP程序连接ORACLE数据库驱动错误
- 谈谈女友卸妆后的感受?
- python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录
- WCF X.509验证
- Android实现边缘凹凸的View
- iOS音乐后台播放及锁屏信息显示
- android设置图片自适应控件大小
- Jest中Mock网络请求
- ECS实践案例丨逻辑卷的创建和扩容操作指导
- 简易python爬虫 - 爬取站长论坛信息
- pytorch ImageFolder
- 修改pip下载存放和安装位置
- 数据挖掘——关联分析Apriori算法
- 从期货开户公司分享交易所手续费返还
- Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
- 微信小程序获取二维码scene报错40129
- Tensorflow2.0
- html5设置页面标题,单选(4分) 下面选项中,可以将HTML5页面的标题设置为“我的第一个网页”的是()。...
- 误删系统rpc服务器不可用,rpc服务器不可用,小编教你rpc服务器不可用怎么办
- 天梯赛 L2 列车调度
热门文章
- codeforces723 D. Lakes in Berland(并查集)
- 9月份杂谈-如何戒掉坏习惯
- js将html转成pdf,js将html转换为pdf
- 抓包淘宝APP HTTPS请求2022最新多种方法
- 完美window 开发 ios应用
- 苹果cms图片采集到网站服务器上,解决苹果cms后台采集数据不显示图片的问题
- 《计算机网络 自顶向下》吐血万字整理 - 附下载地址及思维导图
- 集群系统功能介绍-对讲部分
- ChatGPT技术与商业模式及产业发展布局方案
- 图形推理1000题pdf_2021上海事业单位备考行测判断推理:图形推理之位置变化