vue 实现 el-table 点击图标复制文本或者双击文本复制

方法一

双击复制:

el-table 添加 @cell-dblclick="dbClickCopyText" 双击

html 复制代码
<el-table v-loading="loading" @cell-dblclick="dbClickCopyText" :data="xxxList"></el-table>
javascript 复制代码
            // 双击复制
		dbClickCopyText(row, column, cell, event){
				// 双击复制
				let saveText = function (e){
					e.clipboardData.setData('text/plain',event.target.innerText); 
					e.preventDefault();  //阻止默认行为
				}
				// 防止使用之后 其他复制失效 once 执行完复制操作删除
				const once = {
					once: true
				}
				document.addEventListener('copy',saveText,once);//添加一个copy事件
				document.execCommand("copy");//执行copy方法
				this.$message({message: '复制成功', type:'success'})//提示
			},

方法二

点击图标复制

使用vue自带自定义指令 v-clipboard:copy="你要复制的内容"

v-clipboard:success="cop 提示成功

html 复制代码
<el-table-column
   label="xxx名称" 
   width="220px" 
   align="center" 
   prop="itemName" 
   :show-overflow-tooltip="true"
>
   <template slot-scope="scope">
	  <i class="el-icon-document-copy" v-clipboard:copy="scope.row.itemName" v-clipboard:success="copy" style="margin-right: 5px;cursor: pointer;"></i>{{ scope.row.itemName }}
	</template>
</el-table-column>
javascript 复制代码
copy(){
	this.$message.success('复制成功')
},
相关推荐
秦jh_4 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑21317 分钟前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy18 分钟前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
涔溪1 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
榴莲千丞1 小时前
第8章利用CSS制作导航菜单
前端·css
奔跑草-1 小时前
【前端】深入浅出 - TypeScript 的详细讲解
前端·javascript·react.js·typescript
羡与1 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
guokanglun1 小时前
CSS样式实现3D效果
前端·css·3d
咔咔库奇2 小时前
ES6进阶知识一
前端·ecmascript·es6
前端郭德纲2 小时前
浏览器是加载ES6模块的?
javascript·算法