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

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

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

阅读 3.5k
2 个回答

生成一个 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;
    },

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题