useClipboard
剪贴板操作Hook
前置依赖
依赖参数
| 参数名 | 类型 | 说明 |
|---|---|---|
deps.vue.ref | <T>(value: T) => Ref<T> | Vue的ref函数 |
deps.writeText | Navigator['clipboard']['writeText'] | 剪贴板写入函数 |
deps.readText | Navigator['clipboard']['readText'] | 剪贴板读取函数 |
deps.setTimeout | typeof setTimeout | 超时设置函数 |
deps.clearTimeout | typeof 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)