小程序的点击复制功能和长按复制功能

前言:

        在小程序中实现点击复制功能和长按复制功能,主要使用wx.setClipboardData 小程序的复制功能。

官方方法:

wx.setClipboardData 小程序的复制功能

功能描述

设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s

参数 Object object

属性类型默认值必填说明
datastring剪贴板的内容
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

wx.setClipboardData({
  data: 'data',
  success (res) {
    wx.getClipboardData({
      success (res) {
        console.log(res.data) // data
      }
    })
  }
})

个人使用:

封装一个复制的方法

export function setClipboardData(data, showDoneToast = true) {
  return new Promise((resolve, reject) => {
    wx.setClipboardData({
      data: data,
      success(res) {
        resolve(res);
      },
      fail(err) {
        reject(err);
      }
    })
  }).then(res => {
    if (showDoneToast) {
      wx.showToast({
        title: '复制成功',
        icon: "none",
        duration: 1500,
      })
    }
    return res;
  })
}

一、点击复制+长按复制效果

index.wxml  注意:data-title=我是被复制的文本内容

<text selectable="true">我是被复制的文本内容/text>
<view bindtap="copyBtn" data-title="{{title}}">复制</view>

index.js

    //不使用封装方法
    let that = this;
    wx.setClipboardData({//复制文本
        data: '拿到页面的文本内容',
         success: function (res) {
               wx.showToast({
                 title: '复制成功',
                icon:"none",
                mask:"true"//是否设置点击蒙版,防止点击穿透
              })
        }
     })
import {setClipboardData} from "../../../utils/wxApi"//调用上面封装的方法
//使用上面封装的方法
copyBtn(e){
   setClipboardData(e.target.dataset.title)
},

二、长按复制功能

1、官方默认提供方法

<text selectable='true'>长按复制我</text> 

2、长按事件调用

index.wxml

<text bindlongpress="longpressMassage" data-msg="{{item.payload.text}}">长按复制我</text>

index.js

import {setClipboardData} from "../../../utils/wxApi"//调用上面封装的方法


Component({
    methods: {

        longpressMassage(e){
            //e.target.dataset.msg = 页面上 data-msg 后面绑定的文本内容
           setClipboardData(e.target.dataset.msg)
        },

    }
})

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值