剪切板(复制文本)

本文介绍了如何在Web应用中实现点击按钮复制文本的功能。首先,通过原生的navigator.clipboardAPI实现,但需注意在模板字符串中调用方法的问题。其次,介绍了vue-clipboard2插件的安装和使用,包括全局注册和局部引用,并提供了两种使用方法:直接调用方法和使用指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现点击按钮复制文本


前言

需求点:点击按钮复制当前文本


一、原生navigator

navigator.clipboard?.writeText(row).then(() => {
        this.$message.success('复制成功')
}

由于需求使用了模版字符串,读取不到methods中的方法,所以需要将方法挂载在window当中

window.copyLocation = (row) => {
        navigator.clipboard?.writeText(row).then(() => {
        this.$message.success('复制成功')
})

二、插件vue-clipboard2

1.安装

npm install --save vue-clipboard2

2.使用

如果用到的地方有好几处,建议挂载到vue原型

在main.js注册

import Vue from 'vue'

import VueClipBoard from 'vue-clipboard2'

Vue.use(VueClipBoard)

如果不是很频繁用到此插件的话,建议单个引用到组件即可

在组件中引入

import Vue from 'vue'

import VueClipBoard from 'vue-clipboard2'

Vue.use(VueClipBoard)

使用方法1:

        使用this.$copyText()方法进行复制。

<button @click="copy">复制</button>

copy() {
      this.$copyText(this.value).then(
        function(e) {
          console.log("copy arguments e:", e);
          alert("复制成功!");
        },
        function(e) {
          console.log("copy arguments e:", e);
          alert("复制失败!");
        }
      );
}

使用方法2:

        使用指令的方式进行复制。

<button
        v-clipboard:copy="value"
        v-clipboard:success="firstCopySuccess"
        v-clipboard:error="firstCopyError"
      >复制</button>  

<script>
export default {
  data() {
    return {
      value: "哈哈哈哈哈哈"
    };
  },
  methods: {
    firstCopySuccess(e) {
      console.log("copy arguments e:", e);
      alert("复制成功!");
    },
    firstCopyError(e) {
      console.log("copy arguments e:", e);
      alert("复制失败!");
    }
  }
};
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值