Vue实现点击复制文本内容(原生JS实现)
需求:
实现点击订单编号复制内容

实现步骤:
这里我是在element 的table组件里实现的步骤,仅供参考,实际上实现思路都大同小异
首先在需要点击的地方,添加点击事件
<div class="orderNumber" @click="copyOrderNumber(scope.row.orderNumber)">
<span>{{ scope.row.orderNumber }}</span>
<i class="el-icon-document-copy copyIcon"></i>
</div>
定义我们的点击事件
// 复制订单编号
copyOrderNumber(OrderNumber) {
//调用copy函数
this.copy(OrderNumber);
},
关键点来了
// 复制功能
copy(data) {
// 存储传递过来的数据
let OrderNumber = data;
// 创建一个input 元素
// createElement() 方法通过指定名称创建一个元素
let newInput = document.createElement("input");
// 讲存储的数据赋值给input的value值
newInput.value = OrderNumber;
// appendChild() 方法向节点添加最后一个子节点。
document.body.appendChild(newInput);
// 选中input元素中的文本
// select() 方法用于选择该元素中的文本。
newInput.select();
// 执行浏览器复制命令
// execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令
document.execCommand("Copy");
// 清空输入框
newInput.remove();
// 下面是element的弹窗 不需要的自行删除就好
this.$message({
message: "复制成功",
type: "success",
});
},
由于代码注释已经很详细了,在这里就不做过多赘述,希望能帮到大家!谢谢!
Vue实现点击复制文本内容(原生JS实现)的更多相关文章
- js 实现点击复制文本内容
js 实现点击复制文本内容 <table> <tr><td>姓名:<span onclick="copyContent(this);" ...
- 对于pycharm和vscode下,从外部复制文本内容为python字符串内容是会自动加\u202a解决办法
先来看下这个python3源代码,表面上看没有语法毛病,如果源代码字符串内容是手动复制过来的文本内容,在pycharm和vscode下始终提示: pywintypes.error: (2, 'Shel ...
- Android 复制文本内容到系统剪贴板的最简单实践
这个例子很简单,直接上截图和代码. 布局文件activity_copy.xml代码如下: <?xml version="1.0" encoding="utf-8&q ...
- jQuery按钮复制文本内容
这种方法能保证文本内容被复制到windows剪切板,代码示例是复制url <!doctype html> <html> <head> <meta charse ...
- Android 复制文本内容到系统剪贴板(自由复制)
直接上代码:(对应的类:android.content.ClipboardManager) //获取剪贴板管理器: ClipboardManager cm = (ClipboardManager) g ...
- js复制文本内容到剪贴板
记录一下使用clipboardData复制不成功. 1.定义一个按钮执行复制 <div> <button type="button" id="copyR ...
- 一段js实现复制文本内容到剪切板
<script type="text/javascript"> function copyUrl2() { var Url2=document.getElementBy ...
- js点击复制文本
// 动态创建 input 元素 var aux = document.createElement("input"); // 获得需要复制的内容 aux.setAttribute( ...
- vue点击复制文本粘贴
<template> <ul> <li> <input type="text" class="inpNone&quo ...
随机推荐
- Redis泛泛而谈(详细2W字)
本文适合于刚接触redis的,文章内容比较基础,大佬请绕道. 一.NoSQL入门和概述 Ⅰ-入门概述 1.为什么用NoSQL 1)单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单 ...
- 简单对比vue2.x与vue3.x响应式及新功能
简单对比vue2.x与vue3.x响应式 对响应方式来讲:Vue3.x 将使用Proxy ,取代Vue2.x 版本的 Object.defineProperty. 为何要将Object.defineP ...
- fail to start File System Check
fail to start File System Check 方法A: 输入root的密码 cd /etc 1 vim /etc/fstab 将所有分区最后的数字 1和2 全都改为0 reboot ...
- 【转载】linux 设备管理器 图形hardinfo 字符 lshw lspci
在ubuntu中怎样启动类似windows中的 设备管理器 sudo apt-get install hardinfo lspci sudo lshw everestubuntu下的"设备管 ...
- 1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160
1080p就是1920*1080,2k就是2560*1440,4k就是3840*2160 作者:容易视听链接:https://www.zhihu.com/question/24205632/answe ...
- bond4以及vlan子接口配置
场景: 前提,交换机的配置由网络工程师配合! 1.跨交换机做bond,模式为LACP,linux双网卡做bond4,模式为4: 2.系统为centos7.0-123: 3.服务器仅有两张万兆网卡,为e ...
- 分布式存储ceph---部署ceph(2)
一.部署准备 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用: 1台部署节点(配一块硬盘,运行ceph-depoly) 3 ...
- strcasecmp函数和strncasecmp函数原型
函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异. 返回值 若参数s1和s2字符串相同则返回0.s1长度大于s2长度则返回大于0 的值,s1 长度若小 ...
- Ubuntu 16.04搭建php5.6 Web服务器环境
Ubuntu 16.04默认安装php7.0环境,但是php7目前兼容性并不是很好,如果自行安装php5需要清除php7的已安装包,否则会报错. 移除默认及已安装的PHP包 sudo dpkg -l ...
- ubuntu16.04服务自启动(弹控制台)
一.设置root桌面用户登录 1.vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在最后一行添加greeter-show-manual-lo ...