使用原生实现vue移动端的复制功能

查阅网上的资料后发现大多是使用插件,可是项目只有一处页面用到了该功能,所以不考虑插件的实现
原生方法 document.execCommand('Copy')
参考:https://segmentfault.com/q/10...

复制.jpeg
successful返回的结果为 true 但是功能不生效
html部分代码
屏幕快照 2020-01-14 20.52.22.png

阅读 560
评论
    2 个回答
    • 8.4k

    生成一个 textarea 赋值复制方便多啦

        doCopy(text, successInfo = '复制成功', failInfo = '复制失败') {
          let textArea = document.createElement('textarea');
          textArea.value = text;
          document.body.appendChild(textArea);
          textArea.select();
          try {
            const successful = document.execCommand('copy');
            if (!successful) throw new Error(failInfo);
            this.$Message.success({
              content: successInfo
            });
          } catch (err) {
            this.$Message.error({
              content: failInfo
            });
          }
          document.body.removeChild(textArea);
          textArea = null;
        },
      • 1.1k

      用插件吧、原生支持率太低了

        撰写回答

        登录后参与交流、获取后续更新提醒