【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈

简介: 【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈

需先完成详情页

【微信小程序-原生开发】实用教程16 - 查看详情(含页面跳转的传参方法–简单传参 vs 复杂传参)_朝阳39的博客-CSDN博客

https://blog.csdn.net/weixin_41192489/article/details/129363447

详情页触发列表页刷新

需求描述:

在详情页进行点赞/收藏操作,再返回到列表页,发现列表页并没有同步更新点赞/收藏的状态。

解决方案:

在详情页执行任何触发列表页展示内容的数据更新时,都同步执行列表页的刷新

代码实现:

因列表页通常为详情页的上一页,所以详情页触发列表页的刷新实际上是触发上一页的刷新,代码如下:

详情页

  // 收藏
  collect: function (e) {
    let that = this
    let detail = e.currentTarget.dataset.detail
    let id = detail._id
    let collectList = detail.collectList || []
    collectList.push(this.data.userInfo.No)

    db.doc(id).update({
      data: {
        collectList: collectList
      }
    }).then(
      res => {
        wx.showToast({
          title: '收藏成功',
        })

        that.data.detail.collectList = collectList
        that.data.detail.collected = collectList.includes(that.data.userInfo.No)
        that.setData({
          detail: that.data.detail
        })
        // 更新列表页
        that.updateList()
      }
    )
  },
  // 更新列表页
  updateList() {
    // 获取到当前小程序打开的所有页面栈(数据机构为数组)
    let pages = getCurrentPages();
    // 获取到上一页的页面实例(通过下标获取)
    let prevPage = pages[pages.length - 2]
    // 执行上一页的下拉刷新方法,刷新列表
    prevPage.init()
  },

列表页

    // 初始化
    init: function () {
      this.setData({
        currentPage: 1, // 初始化页码为第1页
        dataList: [], // 清空列表数据
        noMore: false // 重置无更多数据
      })
      // 重新加载列表
      this.getList()
    },

效果预览

点击图片放大预览

如点击头像放大预览

<t-avatar bindtap="previewImage" data-url="{{detail.avatarUrl}}" wx:if="{{detail.avatarUrl}}" image="{{detail.avatarUrl}}" />
  //预览图片
  previewImage: function (e) {
    let url = e.currentTarget.dataset.url;
    wx.previewImage({
      current: url,
      urls: [url]
    })
  },

转发给好友/群

  // 点击右上角转发分享给好友/群
  onShareAppMessage() {
    let id = this.data.id
    return {
      title: this.data.detail.nickname,
      path: '/pages/components/friend/detail/index?id=' + id
    };
  }

当页面内容需要必要的参数才能正常显示时,一定记得参照上述代码添加

分享到朋友圈

  // 点击右上角转发分享给朋友圈
  onShareTimeline() {
    return {
      title: this.data.pageTitle,
      query: 'id=1',
      imageUrl: 'https://ucc.alicdn.com/images/user-upload-01/dc89dd3208f546f4bcfbde2240153a24.jpeg'
    }
  }

  • title 为分享到朋友圈时的文字
  • query 为加载页面必要的参数
  • imageUrl 为分享到朋友圈的配图

query 传递的参数,在onload中可以获取

  onLoad(e) {
    console.log(e.id) // 打印 1
 }

若需访问云数据库,请参考下方专题博文


【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)_朝阳39的博客-CSDN博客

https://blog.csdn.net/weixin_41192489/article/details/129830020

目录
相关文章
预约按摩小程序开发,为什么很多上门按摩平台根本招聘不到优秀技师?
上门按摩平台面临招不到优秀技师的问题,主要原因是平台众多,技师选择多样。为解决此问题,平台可引入技师等级制度,根据订单数量和好评率划分高、低等级技师。高等级技师可享受70%-90%的高提成及首页推荐,这不仅能激励技师的积极性,还能帮助平台筛选出优质技师,提升服务质量和口碑,形成良性循环。
|
14天前
|
小程序 Android开发
|
28天前
|
小程序 搜索推荐 数据挖掘
跳绳打卡小程序开发多钱费用
跳绳打卡小程序通过智能手机即可轻松使用,无需额外设备,只需一根跳绳即可开始您的健康之旅。它结合了便捷性、互动性和个性化设置,让跳绳这项运动变得更加有趣和高效
|
3天前
|
小程序 云计算 Android开发
发者社区 云计算 文章 正文 小程序开发与公众号用户关联推送消息(九)
发者社区 云计算 文章 正文 小程序开发与公众号用户关联推送消息(九)
16 3
|
9天前
|
小程序
|
10天前
|
小程序 数据安全/隐私保护
|
9天前
|
小程序
|
15天前
|
小程序
|
15天前
|
人工智能 小程序
【一步步开发AI运动小程序】五、帧图像人体识别
随着AI技术的发展,阿里体育等公司推出的AI运动APP,如“乐动力”和“天天跳绳”,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。文章分为四部分:初始化人体识别功能、调用人体识别功能、人体识别结果处理以及识别结果旋转矫正。下篇将继续介绍人体骨骼图绘制。

热门文章

最新文章