vue 复制文本

一个常用的库就是 clipboard.js,它可以帮助您实现跨浏览器的复制到剪贴板功能

首先,安装 clipboard.js:

cnpm install clipboard

创建一个 Vue 组件并使用 clipboard.js:

<template>
  <div>
    <input v-model="textToCopy" type="text" />
    <button @click="copyText">Copy</button>
  </div>
</template>
<script setup>
import Clipboard from 'clipboard';
import { ref } from 'vue';

const textToCopy = ref('');

const copyText = () => {
  const clipboard = new Clipboard('.copy-button', {
    text: () => textToCopy.value
  });
  clipboard.on('success', (e) => {
    console.log('Text copied:', e.text);
    clipboard.destroy(); // 清理 clipboard 实例
  });

  clipboard.on('error', (e) => {
    console.error('Copy failed:', e.action);
    clipboard.destroy();
  });
  clipboard.onClick(event); // 触发点击事件
};
</script>

猜你喜欢

转载自blog.csdn.net/weixin_44523517/article/details/132426991