Skip to content

useClipboard

剪贴板操作Hook

前置依赖

依赖参数

参数名类型说明
deps.vue.ref<T>(value: T) => Ref<T>Vue的ref函数
deps.writeTextNavigator['clipboard']['writeText']剪贴板写入函数
deps.readTextNavigator['clipboard']['readText']剪贴板读取函数
deps.setTimeouttypeof setTimeout超时设置函数
deps.clearTimeouttypeof clearTimeout清除超时函数

环境要求

  • Vue 3: Composition API
  • 浏览器: 支持Clipboard API

使用示例

typescript
import { ref } from 'vue'
import { useClipboard } from 'zcw-shared/hooks/useClipboard'

const { text, copied, copy } = useClipboard({
  vue: { ref },
  writeText: navigator.clipboard.writeText.bind(navigator.clipboard),
  readText: navigator.clipboard.readText.bind(navigator.clipboard),
  setTimeout,
  clearTimeout
})

// 复制文本
await copy('Hello World')
console.log(copied.value) // true (3秒后自动变为false)