开始前,请先完成圆梦宝典中滚动公告栏的开发,详见

【微信小程序-原生开发】实用教程 08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏_朝阳39的博客-CSDN博客
https://blog.csdn.net/weixin_41192489/article/details/128797403

需求描述

为了让首页展现更多功能,我们添加了可滚动的选项,实现首页内容的无限拓展和切换。

可滚动选项

pages\index\index.wxml

<t-tabs space-evenly="{{false}}" sticky defaultValue="{{defaultIndex}}" theme="tag" bindchange='indexChange'><t-tab-panel wx:for="{{tabList}}" wx:key="index" label="{{item.label}}" value="{{item.index}}" />
</t-tabs>
  • sticky 页面下滑时,让选项自动悬浮在顶部
  • space-evenly="{{false}}" 取消选项均分空间
  • theme="tag" 使用标签样式

详细文档见
https://tdesign.tencent.com/miniprogram/components/tabs?tab=api

pages\index\index.json

    "t-tabs": "tdesign-miniprogram/tabs/tabs","t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",

pages\index\index.js

data 中新增变量

    currentIndex: 1,defaultIndex: 1,tabList: [{index: 0,label: '新年贺词'},{index: 1,label: '动态'},{index: 2.1,label: '电视剧'},{index: 2.2,label: '电影'},{index: 2.3,label: '音乐'},{index: 3,label: '美食'},{index: 4,label: '美景'},{index: 5.1,label: '书籍'},{index: 5.2,label: '课程'},]
  // 切换选项indexChange: function (e) {this.setData({currentIndex: e.detail.value})},

动态列表(步骤条)

此处仅借用步骤条组件的样式,并无步骤跳转的功能

pages\index\index.wxml

要点详见代码中的注释

<!--  wx:if 根据 currentIndex 值渲染对应选项的内容  -->
<view wx:if="{{currentIndex===1}}" class="stepBox"><!-- current 属性为数据长度,以便高亮显示所有步骤 --><t-steps layout="vertical" readonly theme="dot" current='{{infoList.length}}'><t-step-item wx:for="{{infoList}}" wx:key="index" title="{{item.date}}"><!-- 插槽 extra -- 自定义每个步骤中的内容 --><!-- 通过自定义属性 data-id 实现事件传参 --><view slot="extra" class="contentBox" bindtap="gotoDetail" data-id="{{item._id}}"><view>{{item.title}}</view><view>{{item.publisher}}</view></view></t-step-item></t-steps>
</view>

pages\index\index.wxss

/* 动态(步骤条)样式 */
.stepBox {padding: 40rpx;
}
.contentBox {display: flex;justify-content: space-between;color: grey;
}

pages\index\index.json

    "t-steps": "tdesign-miniprogram/steps/steps","t-step-item": "tdesign-miniprogram/step-item/step-item","t-icon": "tdesign-miniprogram/icon/icon"

pages\index\index.js

要点详见代码中的注释

    infoList: [], // data中新增变量--动态列表
  // 生命周期--页面加载时执行onLoad() {// 访问接口,获取动态列表wx.cloud.database().collection('message').get().then(res => {console.log(res)this.setData({infoList: res.data})})},

此处需在微信云数据库中,新增集合 message ,将数据权限修改为所有用户可读,并添加如下数据:

{"_id":"21f8dd5b63d78070011a4993754bcab0","content":"如果前进的每一步都有有经验的朋友分享避坑路线,会不会让你感觉既幸运又开心呢?  那么,我们是不是也可以分享出自己的经验,帮助到其他朋友呢?  这是每个人都拥有的微光,彼此照亮,便能成就更加美好的人间!","date":"2013-1-29","publisher":"朝阳","title":"生命的微光"}
{"_id":"21f8dd5b63d788c6011b18bb453db82b","publisher":"朝阳","title":"耍完武汉,返回成都","content":"充实欢乐的春节假期结束啦,没了疫情的纷扰,有了女朋友的陪伴,生活日渐鲜亮灿烂了起来,嗨翻   顺利回到成都,新的征程即将开启,明天,你好,我来啦!","date":"2013-1-28"}
  // 查看动态详情gotoDetail: function (e) {// 通过自定义属性 data-id 获取到 idlet id = e.currentTarget.dataset.idwx.navigateTo({// 跳转到新页面。同时携带参数idurl: '/pages/index/message/detail/index?id=' + id})},

动态详情

新增了动态详情页面,目录如下:

pages\index\message\detail\index.wxml

<view class="detailBox"><view class="titleBox">{{msgDetail.title}}</view><view class="pubInfoBox"><view>{{msgDetail.date}}</view><view>{{msgDetail.publisher}}</view></view><view class="contentBox">{{msgDetail.content}}</view>
</view>

pages\index\message\detail\index.wxss

.detailBox {padding: 40rpx;
}.titleBox {font-weight: bold;text-align: center;font-size: 60rpx;
}.pubInfoBox {font-size: 30rpx;text-align: center;color: grey;padding: 30rpx;display: flex;justify-content: space-around;
}.contentBox {/* 文本分散对齐 */text-align: justify;line-height: 2;
}

pages\index\message\detail\index.json

{"navigationBarTitleText": "动态--详情"
}

pages\index\message\detail\index.js

要点详见代码中的注释

Page({data: {msgDetail:{}},// 生命周期--页面加载onLoad(options) {// 获取页面跳转中携带的参数 idlet id = options.id// 通过doc函数,传入 id 查询单条数据的详情wx.cloud.database().collection('message').doc(id).get().then(res => {this.setData({msgDetail: res.data})})}
})

【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)相关推荐

  1. 【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏

    开始前,请先完成圆梦宝典中宫格导航的开发,详见 [微信小程序-原生开发]实用教程 07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字) https://blog.csdn.net ...

  2. 【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)

    开始前,请先完成首页的开发,详见 [微信小程序-原生开发]实用教程05-首页(含自定义调试模式.插入图片.图文排版.底部留白.添加本地图片) https://blog.csdn.net/weixin_ ...

  3. 【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)

    开始前,请先完成启动/欢迎/首屏广告页的开发,详见 [微信小程序-原生开发]实用教程04-启动/欢迎/首屏广告页(含倒计时.添加文字.rpx.定义变量和函数.读取变量.修改变量.wx.reLaunch ...

  4. 【微信小程序-原生开发】实用教程02-添加全局页面配置、页面、底部导航

    开始前,请先完成项目创建,详见 [微信小程序-原生开发]实用教程01-注册登录账号,获取 AppID.下载安装开发工具.创建项目.上传体验 前期准备 因我们的项目是根据模板创建的,需先清理掉无效的页面 ...

  5. 【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)

    可在系列教程的基础上继续开发,也可以单独使用 [微信小程序-原生开发]系列教程 效果预览 代码实现 点击触发生成海报 在活动详情页,指定点击某图标/按钮,触发跳转到生成海报的页面 pages\comp ...

  6. 【微信小程序-原生开发】系列教程目录(已完结)

    01-注册登录账号,获取 AppID.下载安装开发工具.创建项目.上传体验 https://sunshinehu.blog.csdn.net/article/details/128663679 02- ...

  7. 微信小程序原生开发功能合集一:微信小程序开发介绍

    一.专栏介绍   本专栏主要内容为微信小程序常用功能开发过程的介绍说明,包括开发微信小程序常用组件的封装.常用功能的开发等,提供源代码.开发过程讲解视频.完整的课程等.   组件封装: 下拉选择组件. ...

  8. 微信小程序 原生开发 实现弹窗遮罩层 并且在遮罩层内使用scroll-view实现滚动内容(包括图片)

    微信小程序 原生开发 实现弹窗遮罩层 并且在遮罩层内可以滚动内容(包括图片) 效果图 这里的遮罩层内容由两张图片构成 底图+内部内容 实现代码 wxml 使用云开发的存储,自己开发的时候换掉src即可 ...

  9. 微信小程序原生开发集成IM服务出现无法找到模块“tim-wx-sdk”的声明文件问题解决

    微信小程序原生开发集成IM服务出现无法找到模块"tim-wx-sdk"的声明文件问题解决: 通过npm命令安装配置: 在终端进入到小程序项目根目录执行:npm install 未初 ...

最新文章

  1. Openstack部署总结:“部署过程Error: Local ip for ovs agent must be set when tunneling is enabled”问题...
  2. 百度发布机器人助理度秘 “三大基石”炼成
  3. Jenkins构建之常用的触发器和Git Hook自动构建
  4. Elasticsearch 简介
  5. 843. n-皇后问题
  6. java ssh pdf_JavaSSH框架技术规范.pdf
  7. COSC 1047 – Winter 2019 – Assignment
  8. php authorization,PHP CURL设置Authorization
  9. python执行mysql存储过程_Mysql学习---使用Python执行存储过程
  10. msp430入门编程47
  11. php用redis保存session
  12. 计算机机房需求调查表,机房建设需求调查表.doc
  13. MyBatis简介及下载地址
  14. 联想笔记本prtsc不能截图_Win10系统下怎么截屏
  15. 网站地图Sitemap怎么制作
  16. PHP加密 php源代码在线加密工具推荐
  17. Unity3D 学习笔记3——了解U3D引擎的操作面板和各种工具
  18. 记录mysql查询过去十二个月中每个月的数据情况(含本月)
  19. php解决中文乱码,PHP中文乱码的常见解决方法总结
  20. CentOS 命令使用

热门文章

  1. git commit --amend的使用
  2. 【UE4】查找Actor的方法(蓝图)
  3. quartus原理图设计及 自带仿真
  4. incompatible
  5. 【Java】《OnJava8》笔记——第20章泛型
  6. ADK制作WINPE
  7. python春节集五福_集五福?用 Python 做点事情吧! Python集五福教程
  8. 中国大学最新排名是怎样的?
  9. [转载]Macropodus自然语言处理(NLP)工具包(Albert+BiLSTM+CRF)
  10. 京东AI战略全景浮出水面,在无界零售中扮演怎样的位置