微信小程序实现文字长按复制、一键复制功能

这篇具有很好参考价值的文章主要介绍了微信小程序实现文字长按复制、一键复制功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、不引入外部组件的实现方式

 <!-- index.wxml -->
<view>
  <!-- 长按复制 -->
  <view bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</view>
  <text bindlongtap="copyText" data-key="{{item.cdkey}}">{{ item.cdkey }}</text>
   <!-- 一键复制 -->
  <view bindtap="copyText" data-key="{{item.cdkey}}" > 复制 </view>
</view>
  • 长按复制 可利用 bindlongtap 方法,手指长按 500ms 之后触发事件。
  • 一键复制 可利用 bindtap 方法,点击立即触发事件。
// index.js
 copyText(e) {
    let key = e.currentTarget.dataset.key;
    wx.setClipboardData({ //设置系统剪贴板的内容
      data: key,
      success(res) {
        console.log(res, key);
        wx.getClipboardData({ // 获取系统剪贴板的内容
          success(res) {
            wx.showToast({
              title: '复制成功',
            })
          }
        })
      }
    })
  }

注:样式可自行添加适合的样式

效果:

微信小程序复制粘贴功能,小程序,微信小程序,小程序,前端
微信小程序复制粘贴功能,小程序,微信小程序,小程序,前端

二、引入外部组件的实现方式

select-text
可选文本组件。该组件有两种使用模式:长按出现选区,与浏览器默认效果一致;长按出现复制按钮,点击复制拷贝全部内容至剪贴板,常见于聊天对话框等场景
需注意的时,为实现点击其它区域隐藏复制按钮,开发者可在页面最外层监听 tap 事件,并将 evt 对象赋值给 on-document-tap。
安装

npm install @miniprogram-component-plus/select-text

在页面 page.json 中

// page.json
{
    "usingComponents": {
        "mp-select-text": "@miniprogram-component-plus/select-text"
    }
}

在页面index.wxml中

<view bind:tap="handleTap">
  <view class="demo-block">
    <block wx:for="{{arr}}" wx:key="placement">
      <view class="list-item">
        <mp-select-text 
          show-copy-btn 
          placement="{{item.placement}}" 
          value="{{item.value}}" 
          data-id="{{index}}" 
          bindcopy="onCopy"
          on-document-tap="{{evt}}"
        >
        </mp-select-text>
      </view>
    </block>
    <view class="list-item">
      <mp-select-text value="默认的长按效果与浏览器一致"></mp-select-text>
    </view>
  </view>
</view>

效果

微信小程序复制粘贴功能,小程序,微信小程序,小程序,前端
具体实现请参考:select-text组件

赶快去试试吧~文章来源地址https://www.toymoban.com/news/detail-782513.html

到了这里,关于微信小程序实现文字长按复制、一键复制功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包