Vue中实现点击复制文字
一、问题
- 点击文字右侧的图标进行复制文字内容,成功后给予提示,方便用户粘贴
二、解决
-
利用
clipboard
库实现 -
首先安装
clipboard
npm install clipboard --save
-
之后在点击的元素中(这里是一个图标),通过
data-clipboard-text
属性动态绑定需要复制的内容(也就是h2标签中的文本内容),这里非常关键,一定不要把关系搞混了!<div> <h2>{{name}}</h2> <img class="task_name" :data-clipboard-text="name" @click="copyName" src="@/assets/image/task/copy.png" alt="copy" /> </div>
data(){ return{ name: '成立100年' // 这里做实例用,后面调用接口数据效果相同 } }, methods:{ // 复制任务名称 copyName() { let clipboard = new Clipboard('.task_name') clipboard.on('success', e => { this.$message.success("复制成功") // 利用Element组件给予成功提示 clipboard.destroy() // 释放内存 }) clipboard.on('error', e => { this.$message.error('该浏览器不支持自动复制') // 给予错误提示信息 clipboard.destroy() // 释放内存 }) }, }
- 轻松解决问题,chrome下点击右侧图标提示复制成功,
ctrl+v
粘贴出成立100年
🌈
- 轻松解决问题,chrome下点击右侧图标提示复制成功,