开发过程中遇到的需求需要复制一个要求的密码(类似支付宝和淘宝密码)到剪贴板。在vue移动端项目中,使用clipboard.js插件,复制一段密码(类似淘宝支付宝密码)的文本到剪贴板。将PC端的文本复制到剪贴板。如果是PC端,可以直接用原生js写,代码如下:这是复制的内容复制但是这个方法在移动端会有些问题,我是在微信开发公众号,发现在微信浏览器会失效。网上查了一下,clipboard.js是比较靠谱的第三方。clipboard.js官方github目前star是25k??大哥的中文翻译总结了两种方法,一种适合复制固定文本,一种适合复制从后端获取的数据文本;具体操作安装通过npm安装npminstallclipboard--save通过script+链接导入,你可以去BootCDN复制你想要的如果是vue文件,只需要立即在相关组件中导入clipboard.js即可。从“剪贴板”导入剪贴板;编写需要复制的相关代码。如果是复制固定文本,则如下:clipboard">Copypassword如果是复制从服务器获取的数据,如下://这个input可以相应隐藏,比如绝对定位等复制密码....方法:{handleCopy(){axios.post('requestlink').then(res=>{varinput=document.getElementById("copy-input");input.value=res.data//将获取的数据复制到inputsetTimeout(()=>{constcopybtn=this.$refs.copy;this.clipboard=newClipboard(copybtn);},100);//使用延迟器防止内容被being更新不及时导致错误})}}延迟器的代码部分也可以使用vue提供的nextTick方法//感谢Grewer的评论。使用此方法将在下一个DOM更新周期结束后执行延迟回调。修改数据后立即使用此方法获取更新后的DOM。代码如下:this.$nextTick(()=>{constcopybtn=this.$refs.copy;this.clipboard=newClipboard(copybtn);});也可以判断复制是否成功:clipboard.on('success',function(e){console.info('Action:',e.action);console.info('Text:',e.text);console.info('Trigger:',e.trigger);alert('复制成功,你复制的链接是'+e.text);e.clearSelection();});clipboard.on('error',function(e){console.error('Action:',e.action);console.error('Trigger:',e.trigger);alert('复制失败')});这个老大的demo代码也可以作为参考,个人测试有用->使用剪贴板。js实现了js的复制粘贴功能,可能存在兼容性问题。网上说这个插件可能存在一些兼容性问题。我测试了包括Android和ios在内的多款手机,目前还没有发现任何兼容性问题。如果遇到我会在到货的时候及时更新。最后谢谢大家的参考。大家有什么问题可以在评论区提问。如果觉得对你有帮助,还可以点赞、收藏、关注,以免迷路。