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('复制失败')
    });
  }
···
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森海北屿 ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值