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>
相关推荐
IT_陈寒17 分钟前
JavaScript的闭包陷阱,这个坑我躺了三天才爬出来
前端·人工智能·后端
计算机魔术师26 分钟前
Microsoft Research 与合作者证明 31 年历史的 KLS 猜想
前端
vx_Biye_Design28 分钟前
django房屋租赁推荐系统78455-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·express
weixin_4173968334 分钟前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
OpsEye1 小时前
怎么实现大模型的按用户、按应用配额限流?
javascript·ai编程
林恒smileZAZ1 小时前
浏览器为什么加载不了超大图片
前端·vue.js·html5
某不知名網友1 小时前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
java_nnnn1 小时前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
qetfw2 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
小羊没烦恼!2 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#