VVLL.net

剪切版(Clipboard)的使用

日期:2024-08-22 09:58:31

剪切版(Clipboard)的使用

Vueuse

https://vueuse.org/core/useClipboard/#useclipboard

<script setup lang="ts">
import { useClipboard } from '@vueuse/core';

const source = ref('Hello');
const { text, copy, copied, isSupported } = useClipboard({ source });
</script>

<template>
  <div v-if="isSupported">
    <button @click="copy(source)">
      <!-- by default, `copied` will be reset in 1.5s -->
      <span v-if="!copied">Copy</span>
      <span v-else>Copied!</span>
    </button>
    <p>
      Current copied: <code>{{ text || 'none' }}</code>
    </p>
  </div>
  <p v-else>Your browser does not support Clipboard API</p>
</template>

组件使用

该函数还通过包提供了无渲染组件版本@vueuse/components。详细了解用法。

<template>
  <UseClipboard v-slot="{ copy, copied }" source="copy me">
    <button @click="copy()">
      {{ copied ? 'Copied' : 'Copy' }}
    </button>
  </UseClipboard>
</template>

标签