项目场景:
微信小程序长按文字复制内容
问题描述
做小程序项目的时候,测试提了一个功能优化,就是长按文字需要复制全部内容,因为有的手机支持全选复制,有的手机不支持全选复制
解决方案:
wx.setClipboardData和wx.getClipboardData
通过设置系统剪贴板的内容和获取系统剪贴板的内容实现复制功能
html相关代码:
<van-field
value="{{form.contactPhone}}"
label="联系电话 :"
readonly
border="{{ false }}"
catchtap="phoneClick"
/>
<van-field
value="{{form.realAddress}}"
label="地址 :"
type="textarea"
readonly
border="{{ false }}"
bindtap="copyText"
data-key="{{form.realAddress}}"
/>
js相关代码:
copyText(e) {
let key = e.currentTarget.dataset.key
//设置系统剪贴板的内容
wx.setClipboardData({
data: key,
success(res) {
//获取系统剪贴板的内容
wx.getClipboardData({
success: (res) => {
//提示
wx.showToast({
title: '复制成功',
})
},
})
}
})
},
phoneClick() {
wx.makePhoneCall({
phoneNumber: this.data.form.contactPhone,
})
},