本篇内容介绍了“微信小程序如何实现文字长按复制与一键复制功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
<!-- 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>
效果
“微信小程序如何实现文字长按复制与一键复制功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://blog.csdn.net/qq_38970408/article/details/128563791