微信小程序 action-sheet组件 + 分享代码实现

       这几天遇到一个问题,就是使用微信小程序自带的组件wx.showActionSheet(object),并且在这里添加分享按钮,但查看了小程序API文档后发现,分享功能调用的onShareAppMessage(options) 函数,设置该页面的转发信息。

微信小程序API文档:https://developers.weixin.qq.com/miniprogram/dev/api/

先介绍下Page.onShareAppMessage:


示例代码:

Page({
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '自定义转发标题',
      path: '/page/user?id=123'
    }
  }
})

         只要调用onShareAppMessage,在小程序页面中就可以在右上角点击转发功能。然后需要在页面中定义按钮点击,弹出转发界面,而不是通过右上角的转发,所以需要我们在页面中添加button按钮。

<button open-type="share">分享</button>

接下来说下wx.showActionSheet:


示例代码:

wx.showActionSheet({
  itemList: ['A', 'B', 'C'],
  success: function(res) {
    console.log(res.tapIndex)
  },
  fail: function(res) {
    console.log(res.errMsg)
  }
})

这样可以实现弹出操作列表,如下图:

那么问题来了,在wx.showActionSheet中无法直接添加分享按钮,在百度上查了后也说利用这个无法直接实现分享功能,只用通过自定义的action-sheet组件才能够实现,于是我就重新开始写。


wxml

<button @tap="listenerButton">
    <icon class="icon fa fa-external-link"></icon>分享
</button>

<!--默认action-sheet为隐藏,由button触发-->
<action-sheet hidden="{{actionSheetHidden}}" bindchange="listenerActionSheet">
   <action-sheet-item>
         <button open-type="share">分享给好友</button>
   </action-sheet-item>
   <action-sheet-item>生成分享卡片</action-sheet-item>
   <!--自动隐藏action-sheet-->
   <action-sheet-cancel>取消</action-sheet-cancel>
</action-sheet>

JS

Page({
    data:{
      // text:"这是一个页面"
      actionSheetHidden: true,
    },
    listenerButton: function() {
        this.setData({
            actionSheetHidden: !this.data.actionSheetHidden
        });
    },
    listenerActionSheet:function() {
      this.setData({
        actionSheetHidden: !this.data.actionSheetHidden
      })
    },
    onLoad:function(options){
      // 页面初始化 options为页面跳转所带来的参数
    },
    onReady:function(){
      // 页面渲染完成
    },
    onShow:function(){
      // 页面显示
    },
    onHide:function(){
      // 页面隐藏
    },
    onUnload:function(){
      // 页面关闭
    }
})

在action-sheet-item中放入分享按钮,这样就可以实现操作列表中分享小程序功能。

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值