中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue如何實現粘貼復制功能

發布時間:2022-03-30 12:20:32 來源:億速云 閱讀:836 作者:小新 欄目:開發技術

這篇文章主要介紹了vue如何實現粘貼復制功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

引言

項目中如果實現粘貼復制功能,目前市面上共有三種方法,均有利有弊,大家可以根據自己項目實際情況依次選擇。本節將都會對這三種方法做詳細闡述,重點推薦第三種方法。

1. 項目需求圖展示:

vue如何實現粘貼復制功能

1. 安裝第三方插件方法(不推薦)

這種方法兼容性很好,如果項目只使用了一次,不建議使用。

安裝插件

npm install clipboard --save

引入插件

import Clipboard from 'clipboard';

項目中使用

<template>
    <span class="copy" @click="onCopy">
        <i class="iconfont iconcopy"></i>
        <span>點擊復制</span>
    </span>
</template>

<script>
    methods: {
        onCopy(){
             let clipboard = new Clipboard('.copy')
             clipboard.on('success', e => {
               console.log('復制成功')
               // 釋放內存
               clipboard.destroy()
             })
             clipboard.on('error', e => {
               // 不支持復制
               console.log('該瀏覽器不支持自動復制')
               // 釋放內存
               clipboard.destroy()
             })
           }
    }
</script>

2. 瀏覽器自帶Document.execCommand()復制方法(不推薦)

雖然這個方法不需要安裝插件,但是官網申明如下:

vue如何實現粘貼復制功能

項目中使用

<script>
    methods: {
        onCopy(){
            //創建一個input框
            const input = document.createElement("input")
            //將指定的DOM節點添加到body的末尾
            document.body.appendChild(input)
            //設置input框的value值為直播地址
            input.setAttribute("value", e)
            //選取文本域中的內容
            input.select()
            //copy的意思是拷貝當前選中內容到剪貼板
            //document.execCommand()方法操縱可編輯內容區域的元素
            //返回值為一個Boolean,如果是 false 則表示操作不被支持或未被啟用
            if (document.execCommand("copy")) {
            document.execCommand("copy")
            }
            //刪除這個節點
            document.body.removeChild(input)
    }
</script>

3. Clipboard.writeText方法(強烈推薦)

說明

Clipboard 接口的 writeText()  方法可以寫入特定字符串到操作系統的剪切板。會返回一個Promise ,一旦剪貼板的內容被更新,它就會被解析。如果調用者沒有寫入剪貼板的權限,則拒絕寫入剪切板(reject)

項目中使用

onCopy() {
    navigator.clipboard.writeText(this.detailData.clientSecret).then(() => {
        this.$message.success('復制成功')
    })
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue如何實現粘貼復制功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

松溪县| 从化市| 徐州市| 东源县| 沂源县| 讷河市| 那坡县| 朝阳县| 绵阳市| 浮梁县| 山阳县| 衡阳县| 万源市| 固原市| 将乐县| 安阳市| 定安县| 长海县| 新昌县| 邻水| 县级市| 清徐县| 平和县| 云和县| 永春县| 辽源市| 邯郸市| 健康| 车险| 长子县| 山阳县| 湄潭县| 郧西县| 陵川县| 勐海县| 岑溪市| 烟台市| 扶风县| 高密市| 宜兰县| 大新县|