点击按钮复制 El-input Textarea 内容 - Vue.js 实现
要实现点击 div 复制
- 给 div 元素添加一个点击事件监听器。
- 在点击事件处理函数中,获取
元素的内容。 - 创建一个新的 textarea 元素,并将其添加到 document.body 中。
- 将获取到的
内容设置为 textarea 的值。 - 选中 textarea 的内容。
- 执行 document.execCommand('copy'),将选中的内容复制到剪贴板。
- 删除创建的 textarea 元素。
下面是一个示例代码:
<template>
<div @click='copyContent'>
点击我复制内容
</div>
<el-input ref='input' type='textarea' v-model='content' />
</template>
<script>
export default {
data() {
return {
content: ''
};
},
methods: {
copyContent() {
// 获取 <el-input> 中的内容
const input = this.$refs.input.$el.querySelector('textarea');
const content = input.value;
// 创建一个 textarea 元素
const textarea = document.createElement('textarea');
textarea.style.position = 'fixed';
textarea.style.opacity = '0';
textarea.value = content;
document.body.appendChild(textarea);
// 选中 textarea 的内容
textarea.select();
// 复制选中的内容到剪贴板
document.execCommand('copy');
// 删除创建的 textarea 元素
document.body.removeChild(textarea);
}
}
};
</script>
在上面的代码中,点击 div 元素时,会调用 copyContent 方法。该方法会获取
原文地址: http://www.cveoy.top/t/topic/pkuI 著作权归作者所有。请勿转载和采集!