小程序记一次vant-button分享的实现

1,152 阅读1分钟

今天做了一个订单分享功能,死活实现不了数据传参

\

一开始代码写成如下

<van-button
  wx:if="{{order.statusName === '待赠与'}}"
  class="btn-font"
  plain
  round
  data-order-id="{{order.id}}"
  catchtap="shareGoods"
  open-type="share"
>赠与</van-button>

此时我发现shareGoods方法里面可以获取到orderId,但是onShareAppMessage方法里面始终获取不到orderId

搜索了好多资料,都是原生的button可通过这种方式进行传参

于是我自己改成了原生button,好家伙,是可以实现,但是样式又要重新处理,不甘心的我又回到vant-weap中查看api,突然眼前一亮发现了以下内容:

image.png

原来vant-weap中已经有处理方案了,修改代码如下:

<van-button
  wx:if="{{order.statusName === '待赠与'}}"
  class="btn-font"
  plain
  round
  dataset="{{order.id}}"
  catchtap="shareGoods"
  open-type="share"
>赠与</van-button>
  /**
   * 分享(赠予商品)
   */
  onShareAppMessage(res) {
    var that = this;
    if (res.from === 'button') {
      //console.log('来自页面内转发按钮');
      return {
        title: 'XXXXXX',
        path: '/pages/common/pay/pay?orderId=' + res.target.dataset.detail,
        success: function(res) {},
        fail: function(res) {
          // 转发失败
        }
      };
    } else if (res.from === 'menu') {
    }
  }