在vue2 中使用 clipboard.js 复制功能

在手机中或web端复制粘贴是一个常用的功能,可以帮助用户方便的复制需要的内容,比如字符串或图片,本文将介绍在vue2中使用clipboard.js复制功能,在vue中使用其实和在普通的js中使用差别并不大,使用起来也是相当的方便。

安装方式

npm install clipboard --save

导入clipboard

import Clipboard from "clipboard"

复制字符串

<template>
  <div id="btn" @click="copy">复制</div>
</template>
<script>
//导入类库
import Clipboard from "clipboard";
export default {
  name: "copy",
  data() {
    return {
      msg: "Welcome to www.itxst.com",
    };
  },
  methods: {
    //复制方法
    copy: function () {
      let that = this;
      let clipboard = new Clipboard("#btn", {
        text: function (trigger) {
          //返回字符串
          return that.msg;
        },
      });
      clipboard.on("success", (e) => {
        //复制成功
        clipboard.destroy();
      });
      clipboard.on("error", (e) => {
        //复制失败
        clipboard.destroy();
      });
    },
  },
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
#btn {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 6px;
  background-color: #eee;
  color: #333;
  cursor: pointer;
}
#btn:active {
  background-color: #ddd;
  color: #666;
}
</style>

在线试一试

复制图片

其实复制图片也是复制字符串,只不过是复制html包含图片地址的字符串,注意复制图片到微信不用使用https的网址,当然也可以直接复制base64格式的图片或文件到office软件中