小程序的剪贴板 实现复制文本功能
wx.setClipboardData
wx.setClipboardData()
设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s
Promise
风格 调用:支持- 微信 Windows 版:支持
- 微信 Mac 版:支持
参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
data | string | 是 | 剪贴板的内容 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码
wx.setClipboardData({data: 'data', // 要复制的文本success (res) {wx.getClipboardData({success (res) {console.log(res.data) // data}})}
})
我的实现代码
wxml
<view class="content"><text class="content-text">{{code}}</text><text class="copy-code" data-text="{{code}}" catchtap="copyText">复制</text>
</view>
js
复制的方法
copyText(val) {const { text } = val.target.dataset;wx.setClipboardData({ data: text }).then(async res => {if (res.errMsg === 'setClipboardData:ok') {await this.showToast('复制成功');} else {await this.showToast('复制失败');}}).catch(async (error) => {await this.showToast('复制失败');console.error(error);});
},
提示成功或失败的方法
showToast(title) {return new Promise((resolve, reject) => {wx.showToast({title: title,icon: "none",duration: 2000,success: resolve,fail: reject});});
}
Ending…