双击复制文案
<span
@dblclick.stop="copyInfo(scope.row.name)"
>{{ scope.row.name}}</span
>
// 复制
copyInfo(_text_) {
var input = document.createElement('input') // 创建input对象
input.value = _text_ // 设置复制内容
document.body.appendChild(input) // 添加临时实例
input.select() // 选择实例内容
document.execCommand('Copy') // 执行复制
document.body.removeChild(input) // 删除临时实例
_g.toastMsg('success', '已复制!')
}
https://www.cnblogs.com/2001-/p/13541728.html
点击复制文案(多行)
<li v-for="(item, index) in list" :key="index">
<span>URL</span>
<span :id="'url' + index">{{ item.url }}</span>
<el-button @click="copyContent('url' + index)">复制链接</el-button>
</li>
// 复制文本
copyContent($id) {
this.selectText($id)
document.execCommand('copy')
_g.toastMsg('success', '已复制')
},
// 选中文本
selectText(element) {
var text = document.getElementById(element)
// 做下兼容
if (document.body.createTextRange) {
// 如果支持
const range = document.body.createTextRange() // 获取range
range.moveToElementText(text) // 光标移上去
range.select() // 选择
} else if (window.getSelection) {
var selection = window.getSelection() // 获取selection
const range = document.createRange() // 创建range
range.selectNodeContents(text) // 选择节点内容
selection.removeAllRanges() // 移除所有range
selection.addRange(range) // 添加range
} else {
_g.toastMsg('error', '复制失败')
}
}