vue 复制功能
2024-10-21 11:48:52
实现:
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()
})
}
},
最新文章
- hihocoder -1121-二分图的判定
- 《Entity Framework 6 Recipes》中文翻译系列 (8) -----第二章 实体数据建模基础之继承关系映射TPT
- 关于redis的keys命令的性能问题
- Linux使用mount挂载samba共享
- [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用
- VS报错:The build tools for v140 (Platform Toolset = 'v140') cannot be found
- 解决hibernate向mysql插入中文乱码问题
- [RxJS] map vs flatMap
- mysql c haracter
- [Effective C++系列]-透彻了解inlining的里里外外
- Spring--依赖注入
- IO调度算法研究1
- 尚学堂Java面试题整理
- HDU1698 线段树(区间更新区间查询)
- Linux网络文件系统的实现与调试
- VUE 安装&;创建一个项目
- js 创建标签执行
- 正确学习Linux系统的5个建议
- Day Ten
- 6个P2P流媒体开源项目介绍
热门文章
- [深度学习] ncnn编译使用
- ABP Framework 手动升级指南:从6.0.1升级到7.0.0
- 在GCP上创建GCE的三种方式(Console,gcloud,Terraform)
- C 语言初学者必备开发工具——Dev-Cpp [ 图文安装教程 ]
- 蓝桥真题——最短路 &; 门牌制作
- STM32F103和AIR32F103的FreeRTOS中断优先级
- Python基本数据类型,用户交互,格式化输出,运算符,多种赋值方式,多种运算符
- java 进阶P-3.7
- java基础(六):面向对象
- 文盘Rust -- rust 连接云上数仓 starwift