阅读 3724

Vue实现剪贴板复制功能

小白单纯记录一下工作中遇到的需求:在vue中如何实现复制功能 (注: 依赖第三方插件 clipboard)

一. 安装插件

   第一种直接npm安装: npm install clipboard --save 
   第二种:  <script src="js/clipboard.min.js"></script>(下载地址:https://clipboardjs.com/)
复制代码

二. 全局注入(main.js)

    import VueClipboard from 'vue-clipboard2'

    Vue.use(VueClipboard)
复制代码

三. 封装方法方便多次使用

新建一个index.js文件里面存放项目会多次使用的方法

export default{
    install(Vue,opstion){
        //把方法写在vue原型方便调用
      Vue.prototype.copy = function (value) {
        this.$copyText(
          `${value}`
        ).then( res => {
         //这是element的Message 消息提示组件
            this.$message({
              message: "复制成功",
              type: "success"
            });
          },
          err => {
            this.$message.error("复制失败");
          }
        );
      },
    }
}
复制代码

四. 在需要复制的页面中调用copy方法

        <template>
          <el-tooltip class="item" effect="dark" content="复制" placement="bottom">
              <i class="icon copy iconfont" @click.stop="copyCode()">&#xe603;</i>
          </el-tooltip>
        </template>
        
        <script>
        
        //直接调用copy方法就可以了
            copyCode(scope) {
            //把需要复制的内容传value
                 this.copy(scope.row.date);
             },
        </script>
复制代码

刚开始写工作记录掘金大佬手下留情,如有错误望请告知.

文章分类
前端
文章标签