vue 复制合同链接功能

vue2写法vue vue-clipboard2(vue复制功能)

1.安装:

npm install --save vue-clipboard2

2在main.js中引入

2 import VueClipboard from 'vue-clipboard2'; 2 Vue.use(VueClipboard);

代码如下

<div id="app">

</div>

<template id="t">

<div class="container">

<input type="text" v-model="message">

<button type="button" @click="doCopy">Copy!</button>

</div>

</template>

<script>

new Vue({ el: '#app', template: '#t',

data: function () { return { message: 'Copy These Text' } },

methods: { doCopy: function () { this.$copyText(this.message).then(function (e) { alert('Copied') console.log(e) },

function (e) { alert('Can not copy') console.log(e) }) } } })

</script>

vue3写法

法一、

在 Vue 3 中实现复制功能,可以使用

navigator.clipboard.writeText 方法来将文本复制到剪贴板

<template>

<button @click="copyToClipboard('您的合同链接地址')">复制链接</button>

</template>

<script>

import { defineComponent } from 'vue';

export default defineComponent({ methods: { async copyToClipboard(text) { try { await navigator.clipboard.writeText(text);

console.log('链接已复制到剪贴板'); } catch (err) { console.error('复制失败:', err); } } } }); </script>

在上面的示例中,当用户点击按钮时,会调用copyToClipboard方法,并将指定的文本(这里是"您的合同链接地址")复制到剪贴板中。如果复制成功,控制台会输出"链接已复制到剪贴板",否则会输出复制失败的错误信息。

请确保您的浏览器支持navigator.clipboard.writeText方法,并在 Vue 3 组件中按照上述方式使用该方法来实现复制功能。

法二、

vue 3 的复制功能 vue-clipboard3

<script setup>

import useClipboard from "vue-clipboard3";

import { Message } from "@arco-design/web-vue";

点击事件中 function(){ // 分享合同获取链接 getTaskLink(v.contractId).then(res => { const text = ref("");

text.value = res; copy(text); });

// const text = ref("http://localhost:5173/#/order");

// copy(text);

}

const { toClipboard } = useClipboard();

const copy = async text => { try { await toClipboard(text.value);

console.log("Copied to clipboard", text.value);

Message.info("合同链接已复制成功"); } catch (e) { console.error(e); } };

</script>

js写法

要在纯JavaScript中实现复制链接功能,您可以使用Document.execCommand()方法。以下是实现这一功能的步骤:

  1. 首先,在您的HTML中,添加一个按钮,并在按钮上绑定一个点击事件:

button id="copyButton">复制链接button>

  1. 在JavaScript中,编写处理点击事件的函数,该函数将链接复制到剪贴板:

document.getElementById("copyButton").addEventListener("click", function( ) { var contractLink = "您的合同链接地址"; // 替换为您的合同链接地址 var tempInput = document.createElement("input"); tempInput.value = contractLink; document.body.appendChild(tempInput); tempInput.select(); document.execCommand("copy"); document.body.removeChild(tempInput); console.log("链接已复制到剪贴板"); });

通过上述代码,当用户点击按钮时,合同链接将被复制到剪贴板中。请确保替换代码中的"您的合同链接地址"为实际的合同链接地址。

这是一个简单而有效的原生JavaScript方法,可以在现代浏览器中实现链接复制功能。

相关推荐
网络安全-老纪5 分钟前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全
API_technology8 分钟前
电商API安全防护:JWT令牌与XSS防御实战
前端·安全·xss
yqcoder13 分钟前
Express + MongoDB 实现在筛选时间段中用户名的模糊查询
java·前端·javascript
十八朵郁金香35 分钟前
通俗易懂的DOM1级标准介绍
开发语言·前端·javascript
计算机-秋大田1 小时前
基于Spring Boot的兴顺物流管理系统设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·spring·课程设计
GDAL2 小时前
HTML 中的 Canvas 样式设置全解
javascript
m0_528723812 小时前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer2 小时前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL2 小时前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
禾苗种树2 小时前
在 Vue 3 中使用 ECharts 制作多 Y 轴折线图时,若希望 **Y 轴颜色自动匹配折线颜色**且无需手动干预,可以通过以下步骤实现:
前端·vue.js·echarts