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>
相关推荐
zhangyao9403301 小时前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
骑驴看星星a1 小时前
【Three.js--manual script】4.光照
android·开发语言·javascript
星释2 小时前
Rust 练习册 :Leap与日期计算
开发语言·后端·rust
悟能不能悟4 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
循环过三天4 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
_院长大人_5 小时前
设计模式-工厂模式
java·开发语言·设计模式
MATLAB代码顾问5 小时前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
devincob7 小时前
js原生、vue导出、react导出、axios ( post请求方式)跨平台导出下载四种方式的demo
javascript·vue.js·react.js
编程社区管理员7 小时前
React 发送短信验证码和验证码校验功能组件
前端·javascript·react.js
葡萄城技术团队7 小时前
迎接下一代 React 框架:Next.js 16 核心能力解读
javascript·spring·react.js