欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue粘貼復(fù)制功能的實(shí)現(xiàn)過程記錄

 更新時(shí)間:2022年03月30日 09:33:10   作者:bug愛好者  
最近在項(xiàng)目中遇到點(diǎn)擊按鈕復(fù)制鏈接功能,所以這篇文章主要給大家介紹了關(guān)于vue粘貼復(fù)制功能的實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

引言

項(xiàng)目中如果實(shí)現(xiàn)粘貼復(fù)制功能,目前市面上共有三種方法,均有利有弊,大家可以根據(jù)自己項(xiàng)目實(shí)際情況依次選擇。本節(jié)將都會(huì)對這三種方法做詳細(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論