实现:

 let message =
` ${name}
电话:${item.phone}
部门:${item.department}
职务: ${item.post}
邮箱:${item.email}`;
navigator.clipboard.writeText(message).then(() => {
this.$message.success('复制成功')
})

 上面实现的在本地值行没问题,但是在测试环境发布之后会报错:

Cannot read properties of undefined (reading 'writeText')

所以需要兼容下:这个兼容可能还有问题 所以有用插件的 npm install clipboard --save ,等我使用了再来写

copyId=row=>{
let message =`12222222`;
// navigator.clipboard.writeText(message).then(() => {
// this.$message({
// type: "success",
// message: "复制成功!",
// });
// })
if (navigator.clipboard && window.isSecureContext) {
// navigator clipboard 向剪贴板写文本
this.$message.success('复制成功!')
return navigator.clipboard.writeText(message)
} else {
// 创建text area
const textArea = document.createElement('textarea')
textArea.value = message
// 使text area不在viewport,同时设置不可见
document.body.appendChild(textArea)
textArea.focus()
textArea.select()
this.$message.success('复制成功')
return new Promise((res, rej) => {
// 执行复制命令并移除文本框
document.execCommand('copy') ? res() : rej()
textArea.remove()
})
}
},

  

 

最新文章

  1. hihocoder -1121-二分图的判定
  2. 《Entity Framework 6 Recipes》中文翻译系列 (8) -----第二章 实体数据建模基础之继承关系映射TPT
  3. 关于redis的keys命令的性能问题
  4. Linux使用mount挂载samba共享
  5. [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用
  6. VS报错:The build tools for v140 (Platform Toolset = 'v140') cannot be found
  7. 解决hibernate向mysql插入中文乱码问题
  8. [RxJS] map vs flatMap
  9. mysql c haracter
  10. [Effective C++系列]-透彻了解inlining的里里外外
  11. Spring--依赖注入
  12. IO调度算法研究1
  13. 尚学堂Java面试题整理
  14. HDU1698 线段树(区间更新区间查询)
  15. Linux网络文件系统的实现与调试
  16. VUE 安装&创建一个项目
  17. js 创建标签执行
  18. 正确学习Linux系统的5个建议
  19. Day Ten
  20. 6个P2P流媒体开源项目介绍

热门文章

  1. [深度学习] ncnn编译使用
  2. ABP Framework 手动升级指南:从6.0.1升级到7.0.0
  3. 在GCP上创建GCE的三种方式(Console,gcloud,Terraform)
  4. C 语言初学者必备开发工具——Dev-Cpp [ 图文安装教程 ]
  5. 蓝桥真题——最短路 & 门牌制作
  6. STM32F103和AIR32F103的FreeRTOS中断优先级
  7. Python基本数据类型,用户交互,格式化输出,运算符,多种赋值方式,多种运算符
  8. java 进阶P-3.7
  9. java基础(六):面向对象
  10. 文盘Rust -- rust 连接云上数仓 starwift