vue 3中使用复制功能

该文章已生成可运行项目,

在 Vue 3 中实现复制功能可以使用浏览器内置的 Clipboard API,或者借助一些第三方库,比如 vue-clipboard3。下面是这两种方法的示例。

方法 1: 使用 Clipboard API

示例代码
<template>
  <div>
    <input v-model="textToCopy" placeholder="输入要复制的内容" />
    <button @click="copy">复制</button>
    <p v-if="copySuccess">{{ copySuccess }}</p>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const textToCopy = ref('');
const copySuccess = ref('');

const copy = async () => {
  try {
    await navigator.clipboard.writeText(textToCopy.value);
    copySuccess.value = '已复制到剪贴板!';
  } catch (err) {
    copySuccess.value = '复制失败!';
    console.error(err);
  }
};
</script>

<style>
/* 你可以添加一些样式 */
</style>

方法 2: 使用 vue-clipboard3

安装

首先安装 vue-clipboard3

npm install vue-clipboard3
<template>
  <div>
    <input v-model="textToCopy" placeholder="输入要复制的内容" />
    <button v-clipboard:copy="textToCopy" v-clipboard:success="copySuccess" v-clipboard:error="copyError">复制</button>
    <p v-if="copySuccess">{{ copySuccess }}</p>
  </div>
</template>

<script setup>
import { ref } from 'vue';
import { useClipboard } from 'vue-clipboard3';

const { toClipboard } = useClipboard();
const textToCopy = ref('');
const copySuccess = ref('');

const copySuccessHandler = () => {
  copySuccess.value = '已复制到剪贴板!';
};

const copyErrorHandler = () => {
  copySuccess.value = '复制失败!';
};

</script>

<style>
/* 你可以添加一些样式 */
</style>

 

说明

  • 方法 1: 使用 Clipboard API 是最简单的方法,直接通过 navigator.clipboard.writeText 方法进行复制。
  • 方法 2: 使用 vue-clipboard3 使得复制操作更简单和直观,也能提供处理成功和失败的回调。

选择其中一种方式根据你的需求来实现复制功能。

本文章已经生成可运行项目
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值