vue 实现点击复制文本到剪贴板

vue 实现点击复制文本到剪贴板 共四种方法

1. navigator.clipboard.writeText该方法需要在安全域下才能够使用,比如:https 协议的地址、127.0.0.1、localhost

<template><div><el-button type="primary" @click="btn1">复制方法一</el-button><div style="margin-top: 50px">{{ message }}</div>  // 复制的内容</div>
</template>
<script>
export default {data() {return {message: "床前明月光",};},methods: {// 方法一btn1() {// navigator.clipboard.writeText 该方法需要在安全域下才能够使用,比如:https 协议的地址、127.0.0.1、localhostnavigator.clipboard.writeText(this.message).then(() => {this.$message.success("复制成功");}).catch((err) => {// 复制失败console.error("复制失败");});},},
};
</script>

2. execCommand方法即将被废弃

<template><div><el-button type="primary" @click="btn2">复制方法二</el-button><div style="margin-top: 50px">{{ message1 }}</div></div>
</template>
<script>
export default {data() {return {message1: "疑是地上霜",};},methods: {// 方法二  execCommand方法即将被废弃btn2() {let input = document.createElement("input");document.body.appendChild(input);input.value = this.message1; // 此处为需要复制的文本变量input.focus();input.select();try {let result = document.execCommand("copy");document.body.removeChild(input);if (!result) {console.error("复制失败");} else {this.$message.success("复制成功");}} catch (e) {document.body.removeChild(input);alert("当前浏览器不支持复制功能,请检查更新或更换其他浏览器操作");}},},
};
</script>

3. 使用vue-clipboard2库

  1. 安装 npm install --save vue-clipboard2
  2. main.js 中引入
    在这里插入图片描述
<template><div><el-buttontype="primary"v-clipboard:copy="message2"v-clipboard:success="onCopy"v-clipboard:error="onError">复制方法三</el-button><div style="margin-top: 50px">{{ message2 }}</div></div>
</template>
<script>
export default {data() {return {message2: "举头望明月",};},methods: {// 方法三// 使用vue-clipboard2库// 安装 npm install --save vue-clipboard2// 在main.js中引入// import VueClipboard from 'vue-clipboard2';// Vue.use(VueClipboard);onError() {console.error("复制失败");},// 复制onCopy() {this.$message.success("复制成功");},},
};
</script>

4. 使用clipboard.js库

  1. npm install clipboard --save
  2. 当前文件引入 import ClipboardJS from "clipboard";
<template><div><el-button type="primary" class="btn">复制方法四</el-button><div style="margin-top: 50px">{{ message3 }}</div></div>
</template>
<script>
import ClipboardJS from "clipboard";
export default {data() {return {message3: "低头思故乡",};},mounted() {// 方法四// cnpm install clipboard --save// 当前文件引入 import ClipboardJS from "clipboard";let that = this;const clipboard = new ClipboardJS(".btn", {text: function () {return that.message3;},});clipboard.on("success", function (e) {console.log("复制成功");});clipboard.on("error", function (e) {console.log("复制失败");});}
};
</script>
  1. 推荐使用第一种或者第三种,请根据自身需求选择适当的方法!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/267564.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenVINS学习2——VIRAL数据集eee01.bag运行

前言 周末休息了两天&#xff0c;接着做上周五那个VIRAL数据集没有运行成功的工作。现在的最新OpenVINS需要重新写配置文件&#xff0c;不像之前那样都写在launch里&#xff0c;因此需要根据数据集情况配置好estimator_config.yaml还有两个标定参数文件。 VIRAL数据集 VIRAL…

Redis 五大经典业务问题

Redis 五大经典业务问题 一 缓存穿透 缓存穿透是指当请求的数据既不在缓存中也不存在于数据库中时&#xff0c;请求会直接穿透缓存层&#xff0c;到达数据库层。这通常是由于恶意攻击或者程序错误造成的&#xff0c;比如攻击者故意请求不存在的大量数据&#xff0c;导致缓存不…

静态链接库和动态链接库(隐式载入显式载入)

文章目录 动态链接库和静态链接库什么是链接库&#xff1f;静态链接库动态链接库动态链接库的俩种链接方式加载时动态链接运行时动态链接 动态链接库和静态链接库 动态链接库和静态链接库都是共享代码的方法&#xff0c;只是二者略有区别。 以C/C为例&#xff0c;一个可执行文…

DevEco Studio 生成HPK文件

DevEco Studio 生成HPK文件 一、安装环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、生成HPK文件 生成的HPK文件存放在entry文件夹下。下图是未生成HPK的样式。 生成HPK&#xff1a;菜单Build->Build Hap(s)/APP(s)->Build Hap(s)…

手动搭建koa+ts项目框架(日志篇)

文章目录 前言一、安装koa-logger二、引入koa-logger并使用总结如有启发&#xff0c;可点赞收藏哟~ 前言 本文基于手动搭建koats项目框架&#xff08;路由篇&#xff09;新增日志记录 一、安装koa-logger npm i -S koa-onerror and npm i -D types/koa-logger二、引入koa-lo…

Java EE 多线程之 CAS

文章目录 1. 什么是 CAS2. CAS 有那些应用2.1 实现原子类2.2 实现自旋锁2.3 ABA 问题2.3.1 ABA 问题的解决方案 1. 什么是 CAS CAS&#xff1a;全称Compare and swap 假如有一个内存 M 有两个寄存器 A B CAS(M, A, B) 如果 M 和 A 的值相同的话&#xff0c;就把 M 和 B 里的值…

和鲸科技携手深圳数据交易所,“数据+数据开发者生态”赋能人工智能产业发展

信息化时代&#xff0c;数据驱动决策的重要性日益凸显。通过利用数据可以深入了解市场需求、客户行为、竞争态势等关键信息&#xff0c;从而制定更为有效的战略和决策。围绕推动数据要素产业发展&#xff0c;近日&#xff0c;深圳数据交易所&#xff08;以下简称“深数所”&…

网络安全——Iptables防DDoS攻击实验

一、实验目的要求&#xff1a; 二、实验设备与环境&#xff1a; 三、实验原理&#xff1a; 四、实验步骤&#xff1a; 五、实验现象、结果记录及整理&#xff1a; 六、分析讨论与思考题解答&#xff1a; 一、实验目的要求&#xff1a; 1、掌握常见DDoS攻击SYN Flood的攻击…

PyTorch张量:内存布局

你可能对 torch 上的某些函数感到困惑&#xff0c;它们执行相同的操作但名称不同。 例如&#xff1a; reshape()、view()、permute()、transpose() 等。 这些函数的做法真的不同吗&#xff1f; 不&#xff01; 但为了理解它&#xff0c;我们首先需要了解一下张量在 pytorch 中…

scala集合_数组_元组_映射_列表

数组元组映射列表 1.11 集合&#xff08;scala.collection&#xff09; 集合是一种用来存储各种对象和数据的容器。Scala 集合分为可变的和不可变的集合。 1. 不可变集合可以安全的并发访问。 2. 可变集合可以在适当的地方被更新或扩展。这意味着你可以修改&#xff0c;添加…

二叉树--基础OJ

1.对称二叉树 题目链接&#xff1a;101. 对称二叉树 - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a; 我们可以用递归的方法去做&#xff1a; 如果两个树互为镜像&#xff08;1.根节点的值相同&#xff0c;2.左子树的值与右子树的值对称&#xff09;则为对称二叉树&a…

专栏十五:omicverse在单细胞分析中的实际使用体验和小改动

写一些自己的理解吧,一些小步骤,正在更新中。。。 安装 原作者写的很清楚了 大部分直接抄 个别地方:去选择下载适合自己的pytorch版本PyTorch, 比如我的是cuda12,下载命令实际是 pip3 install torch torchvision torchaudio 查看cuda版本命令 nvidia-smi 当然还有个命…