vue 3 中推荐用 useclipboard composable 封装剪贴板功能,统一处理环境检测、复制执行、状态管理与错误降级,支持多实例隔离、typescript 推导及指令复用。

Vue 3 中实现剪贴板复制功能的逻辑复用,核心是把“检测环境、执行复制、管理状态、处理错误”这些共性能力抽离成可导入、可组合、可测试的单元。不靠全局 mixin 或重复写 try/catch,而是用 Composition API 的天然优势做真正工程化的复用。
封装为 useClipboard Composable(推荐)
这是最符合 Vue 3 设计哲学的方式:一个函数返回响应式状态和操作方法,零副作用、类型明确、支持多实例。
- 导出函数如 useClipboard(),内部判断
navigator.clipboard是否可用,并用ref管理text、isCopied、isSupported等状态 - 暴露 copy(text: string) 方法,内部调用
navigator.clipboard.writeText(text),自动 catch 错误并重置状态 - 可在多个组件中独立调用:
const { copy, isCopied } = useClipboard(),彼此状态隔离,互不影响 - TypeScript 类型自动推导,参数和返回值清晰,IDE 支持好
配合自定义指令 v-copy 复用触发逻辑
当复制行为频繁出现在按钮、图标等通用元素上时,把“监听点击 → 调用 copy → 反馈动效”进一步封装成指令,实现 UI 层复用。
vue-composition-api-best-practices
Vue 3 组合式 API 与
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章
