vue2和vue3中实现点击复制粘贴功能

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Vue2(点击复制粘贴功能的实现)
    • [1. 安装vue-clipboard插件](#1. 安装vue-clipboard插件)
    • [2. 引入vue-clipboard插件](#2. 引入vue-clipboard插件)
    • [3. 在组件中使用复制粘贴功能](#3. 在组件中使用复制粘贴功能)
  • Vue3(点击复制粘贴功能的实现)
    • [1. 安装vue-clipboard插件](#1. 安装vue-clipboard插件)
    • [2. 引入vue-clipboard插件](#2. 引入vue-clipboard插件)
    • [3. 在组件中使用复制粘贴功能](#3. 在组件中使用复制粘贴功能)

使用vue-clipboard插件在Vue2和Vue3中实现点击复制粘贴的功能,需要经过以下几个步骤:

Vue2(点击复制粘贴功能的实现)

1. 安装vue-clipboard插件

在项目根目录下,使用npm或者yarn命令安装vue-clipboard插件:

cmake 复制代码
npm install vue-clipboard2
或
yarn add vue-clipboard2

2. 引入vue-clipboard插件

在Vue项目的入口文件(通常是main.js或者main.ts)中,引入并使用vue-clipboard插件:

javascript 复制代码
import VueClipboard from 'vue-clipboard2';
Vue.use(VueClipboard);

3. 在组件中使用复制粘贴功能

第一种方法:在需要使用复制粘贴功能的组件中,通过v-clipboard指令来实现

javascript 复制代码
<template>
  <div class="container">
   {{qq}}
   <button type="button" 
           v-clipboard:copy="qq" //复制的内容
           v-clipboard:success="Copy" //复制成功调用的方法
           v-clipboard:error="Error" //复制失败调用的方法
           >复制QQ</button>
   </div>
</template>
<script>
export default {
  data() {
    return {
      qq:'123456 '
    }
  },
  methods: {
     Copy: function (e) {
       alert('复制成功: ' + e.text)
     },
     Error: function (e) {
       alert('复制失败')
     }
   }
 }
</script> 

第二种方法:在需要使用复制粘贴功能的组件中,通过 this.$copyText来实现

javascript 复制代码
<template>
  <button @click="copyText()">
    点击复制
  </button>
</template>

<script>
export default {
  data() {
    return {
      textToCopy: '要复制的文本',
    };
  },
  methods: {
  copyText(row) {
  this.$copyText(this.textToCopy.replace(/( |null)/g, '')).then(
        (e) => {
          Message('复制成功!', 'success')
          console.log(e);
        },
        (err) => {
          Message('复制失败,请重试!')
          console.log(err);
        }
      );

  },
};
</script>

Vue3(点击复制粘贴功能的实现)

1. 安装vue-clipboard插件

在项目根目录下,使用npm或者yarn命令安装vue-clipboard插件:

cmake 复制代码
npm i vue-clipboard3 --save
或
yarn add i vue-clipboard3 --save

2. 引入vue-clipboard插件

在需要文件中导入: import clipboard3 from "vue-clipboard3";

3. 在组件中使用复制粘贴功能

javascript 复制代码
<template>
  <div class="hello">
    <input type="text" v-model="text">
    <button @click="copy">点击复制</button>
  </div>
</template>
<script setup>
// 引入vue-clipboard3
import clipboard3 from "vue-clipboard3";
const copy = async () => {
  const { toClipboard } = clipboard3();
  try {
    await toClipboard(data.text);
    showToast('复制成功!')
  } catch (error) {
    showToast("复制失败!")
  }
};
</script>
相关推荐
jump_jump1 天前
基于 Squoosh WASM 的浏览器端图片转换库
前端·javascript·性能优化
ytttr8731 天前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
天远Date Lab1 天前
Python实战:对接天远数据手机号码归属地API,实现精准用户分群与本地化运营
大数据·开发语言·python
listhi5201 天前
基于Gabor纹理特征与K-means聚类的图像分割(Matlab实现)
开发语言·matlab
小二·1 天前
前端监控体系完全指南:从错误捕获到用户行为分析(Vue 3 + Sentry + Web Vitals)
前端·vue.js·sentry
qq_433776421 天前
【无标题】
开发语言·php
Davina_yu1 天前
Windows 下升级 R 语言至最新版
开发语言·windows·r语言
阿珊和她的猫1 天前
IIFE:JavaScript 中的立即调用函数表达式
开发语言·javascript·状态模式
阿珊和她的猫1 天前
`require` 与 `import` 的区别剖析
前端·webpack
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计