Vue自定义指令实现复制功能
import Vue from 'vue' import store from '../store' function copyMethod(value) { let text = '' switch (typeof value) { case 'number': text = value.toString() break case 'object': text = JSON.stringify(value) break default: text = value break } let input = document.createElement('textarea') input.value = text document.body.appendChild(input) input.select() document.execCommand('copy') store.commit('success_msg', '复制成功') document.body.removeChild(input) input = null } Vue.directive('copy', { bind(el, binding) { el.handler = () => copyMethod(binding.value) el.addEventListener('click', el.handler) }, // 更新参数时更新监听函数 componentUpdated(el, binding) { el.removeEventListener('click', el.handler) el.handler = () => copyMethod(binding.value) el.addEventListener('click', el.handler) }, unbind(el) { el.removeEventListener('click', el.handler) el.handler = null }, })
1、main.js中引入自定义指令
import './directives'
2、组件中使用
v-copy="item.name"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现