首页IT科技小程序点击复制功能(微信小程序实现文字长按复制、一键复制功能)

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

时间2025-05-05 16:27:07分类IT科技浏览8098
导读:一、不引入外部组件的实现方式 <!-- index.wxml -->...

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

<!-- 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组件

赶快去试试吧~

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
网页优化是做什么的(网页seo最需要优化的三个要素)