VUE 實現復制內容到剪貼板的兩種方法
VUE 復制內容至剪切板(兩種使用方法)
復制內容至剪切板使用的是插件'vue-clipboard2',通過官方文檔會發(fā)現共有兩種使用方式。
第一種方式與大多數文章類似,只粘貼代碼:
<template>
<div class="container">
<input type="text" v-model="message">
<button type="button"
v-clipboard:copy="message"
v-clipboard:success="onCopy"
v-clipboard:error="onError">Copy!</button>
</div>
</template>
<script>
export default {
data() {
return {
message: 'Copy These Text',
}
},
methods: {
onCopy: function (e) {
alert('You just copied: ' + e.text)
},
onError: function (e) {
console.log(e)
alert('Failed to copy texts')
}
}
}
</script>
這種使用方式直接將變量內容復制至剪切板,暫時沒有找到處理數據后再復制的方式,這時就需要使用第二種方式。
第二種方式:
<template>
<div class="container">
<input type="text" v-model="message">
<button type="button" @click="doCopy('add me!')">Copy!</button>
</div>
</template>
<script>
export default {
data() {
return {
message: 'Copy These Text'
}
},
methods: {
dataProcessing (val) {
this.message = this.message + ' ' + val
},
doCopy: function (val) {
this.dataProcessing(val)
this.$copyText(this.message).then(function (e) {
alert('Copied')
console.log(e)
}, function (e) {
alert('Can not copy')
console.log(e)
})
}
}
}
</script>
通過這段示例代碼能看到,復制動作使用的是VUE響應函數方式,這就為復制前控制數據提供了可能!
下面在看下vue實現復制內容到剪貼板功能,具體內容如下所示:
注: 依賴第三方插件 clipboard
一、安裝插件
npm install vue-clipboard2 --save
二、全局注入(main.js)
import VueClipboard from 'vue-clipboard2' Vue.use(VueClipboard)
三、使用
<ul class="file-list">
<li v-for="(f, index) of files" :key="index">
<span>[文件{{index + 1}}] {{f}}</span>
<span class="copy-btn" v-clipboard:copy="f" v-clipboard:success="onCopy" v-clipboard:error="onError">復制</span>
</li>
</ul>
// 復制成功時的回調函數
onCopy (e) {
this.$message.success("內容已復制到剪切板!")
},
// 復制失敗時的回調函數
onError (e) {
this.$message.error("抱歉,復制失??!")
}
四、效果圖

總結
以上所述是小編給大家介紹的VUE 實現復制內容到剪貼板功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
Vue中修改Mint UI的Toast默認樣式之字體大小調整方式
這篇文章主要介紹了Vue中修改Mint UI的Toast默認樣式之字體大小調整方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05

