vue粘貼復(fù)制功能的實(shí)現(xiàn)過程記錄
引言
項(xiàng)目中如果實(shí)現(xiàn)粘貼復(fù)制功能,目前市面上共有三種方法,均有利有弊,大家可以根據(jù)自己項(xiàng)目實(shí)際情況依次選擇。本節(jié)將都會(huì)對(duì)這三種方法做詳細(xì)闡述,重點(diǎn)推薦第三種方法。
1. 項(xiàng)目需求圖展示:

1. 安裝第三方插件方法(不推薦)
這種方法兼容性很好,如果項(xiàng)目只使用了一次,不建議使用。
安裝插件
npm install clipboard --save
引入插件
import Clipboard from 'clipboard';
項(xiàng)目中使用
<template>
<span class="copy" @click="onCopy">
<i class="iconfont iconcopy"></i>
<span>點(diǎn)擊復(fù)制</span>
</span>
</template>
<script>
methods: {
onCopy(){
let clipboard = new Clipboard('.copy')
clipboard.on('success', e => {
console.log('復(fù)制成功')
// 釋放內(nèi)存
clipboard.destroy()
})
clipboard.on('error', e => {
// 不支持復(fù)制
console.log('該瀏覽器不支持自動(dòng)復(fù)制')
// 釋放內(nèi)存
clipboard.destroy()
})
}
}
</script>2. 瀏覽器自帶Document.execCommand()復(fù)制方法(不推薦)
雖然這個(gè)方法不需要安裝插件,但是官網(wǎng)申明如下:

項(xiàng)目中使用
<script>
methods: {
onCopy(){
//創(chuàng)建一個(gè)input框
const input = document.createElement("input")
//將指定的DOM節(jié)點(diǎn)添加到body的末尾
document.body.appendChild(input)
//設(shè)置input框的value值為直播地址
input.setAttribute("value", e)
//選取文本域中的內(nèi)容
input.select()
//copy的意思是拷貝當(dāng)前選中內(nèi)容到剪貼板
//document.execCommand()方法操縱可編輯內(nèi)容區(qū)域的元素
//返回值為一個(gè)Boolean,如果是 false 則表示操作不被支持或未被啟用
if (document.execCommand("copy")) {
document.execCommand("copy")
}
//刪除這個(gè)節(jié)點(diǎn)
document.body.removeChild(input)
}
</script>3. Clipboard.writeText方法(強(qiáng)烈推薦)
說明
Clipboard 接口的 writeText() 方法可以寫入特定字符串到操作系統(tǒng)的剪切板。會(huì)返回一個(gè)Promise ,一旦剪貼板的內(nèi)容被更新,它就會(huì)被解析。如果調(diào)用者沒有寫入剪貼板的權(quán)限,則拒絕寫入剪切板(reject)
項(xiàng)目中使用
onCopy() {
navigator.clipboard.writeText(this.detailData.clientSecret).then(() => {
this.$message.success('復(fù)制成功')
})
}總結(jié)
到此這篇關(guān)于vue實(shí)現(xiàn)粘貼復(fù)制功能的文章就介紹到這了,更多相關(guān)vue粘貼復(fù)制功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)5
這篇文章主要介紹了Vue數(shù)據(jù)驅(qū)動(dòng)模擬實(shí)現(xiàn)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
在Vue 3中使用OpenLayers讀取WKB數(shù)據(jù)并顯示圖形效果
WKB作為一種緊湊的二進(jìn)制格式,在處理和傳輸空間數(shù)據(jù)時(shí)具有明顯優(yōu)勢(shì),本文介紹了如何在Vue 3中使用OpenLayers讀取WKB格式的空間數(shù)據(jù)并顯示圖形,感興趣的朋友一起看看吧2024-12-12
vue3使用vue-router及路由權(quán)限攔截方式
這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
淺談Vue內(nèi)置component組件的應(yīng)用場(chǎng)景
這篇文章主要介紹了淺談Vue內(nèi)置component組件的應(yīng)用場(chǎng)景,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
使用webpack搭建vue項(xiàng)目及注意事項(xiàng)
這篇文章主要介紹了使用webpack搭建vue項(xiàng)目的方法,本文以開發(fā)環(huán)境為例,通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06

