在PC端上通过点击按钮复制对应文本的业务场景,不经常有,但是让我碰见了,也了解了下实现方法。
1、通过createElement生成一个input输入框,并将其透明度设为0,使得用户无感知;
2、将需要复制的内容赋值到输入框内,(一定要将输入框添加到页面body中)才能使用select函数选中。
3、通过document.execCommand(“copy”)执行浏览器复制命令,就能将对应文本进行复制了
function handleCopy(text) {const input = document.createElement('input')input.style.cssText = 'opacity: 0;';input.type = 'text';input.value = text; // 修改文本框的内容document.body.appendChild(input)input.select(); // 选中文本document.execCommand("copy"); // 执行浏览器复制命令this.$message({message: '复制成功',type: 'success'})},