今天用到了vue点击复制文本,在晚上查找了一堆资料,有用原生js写的也有用插件写的,我用到的是Clipboard 插件
首先需要安装Clipboard
npm install clipboard --save
上代码
<template>
<div
v-clipboard:copy="this.copyContent"
:data-clipboard-text="this.copyContent"
class="iconfont icon-copy"
v-clipboard:success="handleSuccess"
v-clipboard:error="clipboardErrorHandler"
>
******
</div>
</template>
// 上面的一个不能少,除了v-clipboard:error以外其他的不能少,不然不好使
import Clipboard from 'clipboard';
data() {
return {
id:this.$route.params.id,
userInfo:{},
copyContent:""
};
},
method{
// 查询用户信息
findOneArticles: function () {
let param = {
id: this.id
}
findOneUser(param).then((response) => {
//赋值
this.copyContent=response.data.pass_word
})
},
// 复制成功
handleSuccess({ value, event }){
// this.copyContent=this.userInfo.pass_word
// Toast('复制成功');
const clipboard = new Clipboard('.icon-copy');
clipboard.on('success', e => {
console.log(e.text)
});
},
//复制失败
clipboardErrorHandler ({ value, event }) {
console.log('error', value)
},
}