Vue项目 实现一键复制功能

方法一:使用 v-clipboard

使用步骤:

1.安装依赖

npm install --save v-clipboard

2.在main.js中引入

import Vue from 'vue'
import Clipboard from 'v-clipboard'

Vue.use(Clipboard)

3.使用

<template>
     <el-button
		type="text"
		v-clipboard:copy="copyRowData"
		v-clipboard:success="clipboardSuccessHandler"
		v-clipboard:error="clipboardErrorHandler">
		复制
	</el-button>
</template>
 
 
export default {
   data() {
      return {
         copyRowData:''
      }
   },
   
   methods: {
      // Success event handler 
      clipboardSuccessHandler({ value, event }){
         console.log('success', value);
         this.$message.success("复制成功");
      },
      // Error event handler
      clipboardErrorHandler({ value, event }) {
         console.log('error', value)
      }
    }
}

方法二: 使用 clipboard,官网https://clipboardjs.com/

使用步骤:

1.安装

npm install clipboard --save

2.使用

//dom
···
<div>
     <span
		class="btn iconfont"
		data-clipboard-action="copy"
		:data-clipboard-text="copyText"
		@click="copyLink"
		>
		复制
	</span>
 </div>
···
//引用
import Clipboard from 'clipboard'
...
//js
data() {
   return {
     //需要复制的信息
     copyText: "test",
   }
},
···
 copyLink() {
    //实例化clipboard插件实例
    let clipboard = new Clipboard('.btn')
	//成功的回调
  	clipboard.on('success', () => {
      this.$message({
        message: '复制成功',
        type: 'success'
      })
      clipboard.destroy();// 销毁复制缓存,避免出现复制之前复制的内容
    });
  	//失败的回调
   	clipboard.on('error', () => {
      this.$message.error('复制失败')
    });
  }
···
上一篇:前端实现点击复制


下一篇:公众号使用clipboard复制文字