描述

项目要写一个页面内的导航栏,功能包括点击更改导航栏的样式,切换数据源。

成果

介绍

首先对导航栏设置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来切换样式和数据源,

继续努力

微信小程序制作页面内导航栏相关推荐

  1. 微信小程序——不同角色的导航栏显示不同

    文章目录 问题描述 解决方法 代码实现 底部导航栏 排查员 存在的问题 问题描述   微信小程序的原生底部导航栏限制了数量(3-5个)且不能根据你的不用用户进行动态的底部导航栏变化,无法适应多种用户从 ...

  2. 微信小程序开发错误——底部导航栏没有显示完全

    微信小程序开发错误--底部导航栏没有显示完全 原因:由于在app.json中设置跳转页面时,假设有A.B.C.D四个图标(点击可以跳转),B和C的跳转页面相同,C的图标就会覆盖B的图标,B的图标就相当 ...

  3. 微信小程序实现左侧滑动导航栏

    微信小程序实现左侧滑动导航栏 1.左侧滑动导航栏图如下 2.这是我们左侧滚动栏的代码 wxml <view class='under_line'></view><view ...

  4. 微信小程序自定义头部标题导航栏

    /*** 微信小程序头部自定义标题导航栏* * 参数:* pageTitle: 导航栏标题,默认不显示* navColor: 导航栏背景颜色,默认白色,透明为'transparent'属性值* noS ...

  5. 微信小程序实现自定义顶部导航栏(选项卡),固定导航栏和可滑动导航栏

    微信小程序实现自定义顶部导航栏(选项卡),固定导航栏和可滑动导航栏 固定导航栏 可滑动导航栏 顶部导航栏的需求实现: 顶部导航栏由列表渲染,通过tabclick点击事件改变activeIndex变量的 ...

  6. html底部导航栏图标切换,【微信小程序】自定义底部导航栏,切换不同页面显示不同tabbar...

    https://blog.csdn.net/small_lack/article/details/80959278 在一个微信小程序中想要用到两种不同的tabbar样式,需要在app.js中自定义,在 ...

  7. 微信小程序购物车和左侧导航栏

    先上实现图 话不多说,直接上代码 cars.js  // const arr = require("../../utils/data"); // pages/cars/cars.j ...

  8. 微信小程序中自定义背景导航栏透明背景设置

    首先确定好自己要在哪个页面中使用自定义头部导航栏样式 在该页面中找到xxx.json文件中添加上 "navigationStyle":''custom" 这样在页面中头部 ...

  9. 初尝微信小程序2-Swiper组件、导航栏标题配置

    swiper 滑块视图容器. 很多网页的首页都会有一个滚动的图片模块,比如天猫超市首页,滚动着很多优惠活动的图片,用来介绍优惠内容,以及供用户点击快速跳转到相应页面. Swiper不仅可以滚动图片,也 ...

最新文章

  1. Windows Server 2008 下ASP程序连接ORACLE数据库驱动错误
  2. 谈谈女友卸妆后的感受?
  3. python判断英文字母_python判断字符串中是否含有英文 | 个人学习笔记记录
  4. WCF X.509验证
  5. Android实现边缘凹凸的View
  6. iOS音乐后台播放及锁屏信息显示
  7. android设置图片自适应控件大小
  8. Jest中Mock网络请求
  9. ECS实践案例丨逻辑卷的创建和扩容操作指导
  10. 简易python爬虫 - 爬取站长论坛信息
  11. pytorch ImageFolder
  12. 修改pip下载存放和安装位置
  13. 数据挖掘——关联分析Apriori算法
  14. 从期货开户公司分享交易所手续费返还
  15. Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
  16. 微信小程序获取二维码scene报错40129
  17. Tensorflow2.0
  18. html5设置页面标题,单选(4分) 下面选项中,可以将HTML5页面的标题设置为“我的第一个网页”的是()。...
  19. 误删系统rpc服务器不可用,rpc服务器不可用,小编教你rpc服务器不可用怎么办
  20. 天梯赛 L2 列车调度

热门文章

  1. codeforces723 D. Lakes in Berland(并查集)
  2. 9月份杂谈-如何戒掉坏习惯
  3. js将html转成pdf,js将html转换为pdf
  4. 抓包淘宝APP HTTPS请求2022最新多种方法
  5. 完美window 开发 ios应用
  6. 苹果cms图片采集到网站服务器上,解决苹果cms后台采集数据不显示图片的问题
  7. 《计算机网络 自顶向下》吐血万字整理 - 附下载地址及思维导图
  8. 集群系统功能介绍-对讲部分
  9. ChatGPT技术与商业模式及产业发展布局方案
  10. 图形推理1000题pdf_2021上海事业单位备考行测判断推理:图形推理之位置变化