本例应用场景为,二维码链接复制
1.安装
npm install clipboard --save
2.新建js文件 clipboard.js
import Vue from 'vue'
import Clipboard from 'clipboard'
function clipboardSuccess() {
Vue.prototype.$message({
message: '复制成功',
type: 'success',
duration: 1500
})
}
function clipboardError() {
Vue.prototype.$message({
message: '复制失败',
type: 'error'
})
}
export default function handleClipboard(text, event) {
const clipboard = new Clipboard(event.target, {
text: () => text
})
clipboard.on('success', () => {
clipboardSuccess()
clipboard.destroy()
})
clipboard.on('error', () => {
clipboardError()
clipboard.destroy()
})
clipboard.onClick(event)
}
3.引入
<el-input v-model="qrCodePayment.qrCodeUrl" />
<el-button type="primary" style="float:right" @click="copyUrl">复制地址</el-button>
//js文件存放路径
import handleClipboard from '@/utils/clipboard'
data() {
return {
qrCodePayment:{
qrCodeUrl:'https://www.baidu.com/'
}
}
},
//复制url
copyUrl() {
handleClipboard(this.qrCodePayment.qrCodeUrl, event)
},
实现效果: