收藏
回答

一个页面里面有多个分享按钮,点击不同按钮分享内容不同

框架类型 终端类型 操作系统 微信版本 基础库版本
小程序 客户端 Android 6.6.3 1.9.91

开发公司商城小程序期间,遇到一个需求,用户订单列表页每个订单下方有一个分享按钮,希望用户点击不同按钮分享出去的title,path不一样。


在开发工具里面试了下,点击分享按钮通过setData的方式定义title,path.,发现在

onShareAppMessage里面获取不到。

换了一种方式,将title,path在页面初始化时候,默认为第一个订单相关的数据,分享的时候可以获取到title,path,但是点击按钮分享的数据总是上一次的数据。

请问这种情况怎么解决,是我哪里处理错了吗

回答关注问题邀请回答
收藏

16 个回答

  • 神夜
    神夜
    2021-04-10
    //一个循环列表放一个分享按钮,然后设置相应的分享内容。
    <ul>
    <li v-for="(item,index) in list" :key="index">
    <button open-type="share" :data-title="item.title" :data-img="item.img" :data-id="item.id" v-if="item.isShow==1">分享</button>
    </li>
    </ul>
    //分享设置获取分享按钮点击时的值来实现不同文章的分享功能。
    onShareAppMessage(res){
    		let title = res.target.dataset.title
    		let id = res.target.dataset.id
    		let img = res.target.dataset.img
    		
    		return {
    			title: title,
    			path: '/pages/article/index?id=' + id,
    			imageUrl: img,
    		}
    	},
    
    2021-04-10
    有用
    回复
  • Mr.郭
    Mr.郭
    2019-08-02

    这个方法不错,可用

    2019-08-02
    有用
    回复
  • QIANJIAXIN
    QIANJIAXIN
    2018-03-01


    在button设置数据

    2018-03-01
    有用
    回复
  • 10号
    10号
    2018-03-01

    你这么做肯定有问题的 setdata是需要时间的 当你拉起分享当时候 setdata可能还没生效 正确的做法是都保存在button里 直接通过event.target.dataset.xxxxx获取数据拼接即可

    2018-03-01
    有用
    回复
  • 赵青山
    赵青山
    2018-02-26

    onShareAppMessage:function(event){

    let dataset = event.target.dataset;

    }

    2018-02-26
    有用
    回复
  • 清风
    清风
    2018-02-26

    之前我有向官方反馈过,官方回复会优化,并没有解决方法,分享是所有事件中最快的

    2018-02-26
    有用
    回复
  • 王立建
    王立建
    2018-02-26

    @清风,是的,我打印数据是这样的结果,那么请问有解决方案吗?


    2018-02-26
    有用
    回复
  • 清风
    清风
    2018-02-26

    问题出在你分享触发的事件,比你获取数据要快,我以前好像就测试过

    2018-02-26
    有用
    回复
  • 王立建
    王立建
    2018-02-26

    好的,非常感谢您的热情回复

    2018-02-26
    有用
    回复
  • 这都申请了
    这都申请了
    2018-02-26

    没有做过这种场景,我们一般都是在详情页进行转发

    2018-02-26
    有用
    回复

正在加载...

登录 后发表内容