最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實現(xiàn)點擊復(fù)制文本到剪貼板方式

 更新時間:2025年10月15日 08:58:08   作者:你的眼睛會笑  
文章介紹了四種在Vue中實現(xiàn)復(fù)制文本到剪貼板的方法:1.使用navigator.clipboard.writeText(需要在安全域下使用);2.使用即將廢棄的execCommand方法;3.通過引入vue-clipboard2庫;4.使用clipboard.js庫,推薦使用第一種或第三種方法

vue點擊復(fù)制文本到剪貼板 共四種方法

1. navigator.clipboard.writeText

該方法需要在安全域下才能夠使用,比如:https 協(xié)議的地址、127.0.0.1、localhost

<template>
  <div>
    <el-button type="primary" @click="btn1">復(fù)制方法一</el-button>
    <div style="margin-top: 50px">{{ message }}</div>  // 復(fù)制的內(nèi)容
  </div>
</template>
<script>
export default {
  data() {
    return {
      message: "床前明月光",
    };
  },

  methods: {
    // 方法一
    btn1() {
      // navigator.clipboard.writeText 該方法需要在安全域下才能夠使用,比如:https 協(xié)議的地址、127.0.0.1、localhost
      navigator.clipboard
        .writeText(this.message)
        .then(() => {
          this.$message.success("復(fù)制成功");
        })
        .catch((err) => {
          // 復(fù)制失敗
          console.error("復(fù)制失敗");
        });
    },
  },
};
</script>

2. execCommand方法 

即將被廢棄

<template>
  <div>
    <el-button type="primary" @click="btn2">復(fù)制方法二</el-button>
    <div style="margin-top: 50px">{{ message1 }}</div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      message1: "疑是地上霜",
    };
  },
  methods: {
    // 方法二  execCommand方法即將被廢棄
    btn2() {
      let input = document.createElement("input");
      document.body.appendChild(input);
      input.value = this.message1; // 此處為需要復(fù)制的文本變量
      input.focus();
      input.select();
      try {
        let result = document.execCommand("copy");
        document.body.removeChild(input);
        if (!result) {
          console.error("復(fù)制失敗");
        } else {
          this.$message.success("復(fù)制成功");
        }
      } catch (e) {
        document.body.removeChild(input);
        alert("當(dāng)前瀏覽器不支持復(fù)制功能,請檢查更新或更換其他瀏覽器操作");
      }
    },
  },
};
</script>

3. 使用vue-clipboard2庫

安裝 npm install --save vue-clipboard2

main.js 中引入


<template>
  <div>
    <el-button
      type="primary"
      v-clipboard:copy="message2"
      v-clipboard:success="onCopy"
      v-clipboard:error="onError"
      >復(fù)制方法三</el-button
    >
    <div style="margin-top: 50px">{{ message2 }}</div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      message2: "舉頭望明月",
    };
  },
  methods: {
    // 方法三
    // 使用vue-clipboard2庫
    // 安裝 npm install --save vue-clipboard2
    // 在main.js中引入
    // import VueClipboard from 'vue-clipboard2';
    // Vue.use(VueClipboard);
    onError() {
      console.error("復(fù)制失敗");
    },
    // 復(fù)制
    onCopy() {
      this.$message.success("復(fù)制成功");
    },
  },
};
</script>

4. 使用clipboard.js庫

npm install clipboard --save

當(dāng)前文件引入 import ClipboardJS from "clipboard";

<template>
  <div>
    <el-button type="primary" class="btn">復(fù)制方法四</el-button>
    <div style="margin-top: 50px">{{ message3 }}</div>
  </div>
</template>
<script>
import ClipboardJS from "clipboard";
export default {
  data() {
    return {
      message3: "低頭思故鄉(xiāng)",
    };
  },
  mounted() {
    // 方法四
    // cnpm install clipboard --save
    // 當(dāng)前文件引入 import ClipboardJS from "clipboard";
    let that = this;
    const clipboard = new ClipboardJS(".btn", {
      text: function () {
        return that.message3;
      },
    });
    clipboard.on("success", function (e) {
      console.log("復(fù)制成功");
    });
    clipboard.on("error", function (e) {
      console.log("復(fù)制失敗");
    });
  }
};
</script>

推薦使用第一種或者第三種,請根據(jù)自身需求選擇適當(dāng)?shù)姆椒ǎ?/p>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3+vite項目運行后實現(xiàn)自動在瀏覽器打開

    vue3+vite項目運行后實現(xiàn)自動在瀏覽器打開

    文章介紹了如何使用Vue 3和Vite創(chuàng)建項目,并提供了一個簡單的步驟指南,包括在package.json文件中進(jìn)行配置,希望這篇經(jīng)驗分享對大家有所幫助,并鼓勵大家支持腳本之家
    2026-01-01
  • Vue v-for中:key中item.id與Index使用的區(qū)別解析

    Vue v-for中:key中item.id與Index使用的區(qū)別解析

    這篇文章主要介紹了Vue v-for中:key中item.id與Index使用的區(qū)別解析,推薦使用【:key="item.id"】而不是將數(shù)組下標(biāo)當(dāng)做唯一標(biāo)識,前者能做到全部復(fù)用,本文給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Vue3中引入SCSS和LESS依賴的基本步驟和注意事項

    Vue3中引入SCSS和LESS依賴的基本步驟和注意事項

    我們項目開發(fā)中經(jīng)常遇到樣式里面會使用less和scss寫法, less,scss和stylus都是css的預(yù)處理器,這篇文章主要給大家介紹了關(guān)于Vue3中引入SCSS和LESS依賴的基本步驟和注意事項,需要的朋友可以參考下
    2024-05-05
  • 創(chuàng)建項目及包管理yarn create vite源碼學(xué)習(xí)

    創(chuàng)建項目及包管理yarn create vite源碼學(xué)習(xí)

    這篇文章主要為大家介紹了創(chuàng)建項目及包管理yarn create vite源碼學(xué)習(xí)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue兩種組件類型:遞歸組件和動態(tài)組件的用法

    Vue兩種組件類型:遞歸組件和動態(tài)組件的用法

    這篇文章主要介紹了Vue兩種組件類型:遞歸組件和動態(tài)組件的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue?Router組合布局用法詳解

    Vue?Router組合布局用法詳解

    今天我們用一種新的布局方式,使用路由視圖來實現(xiàn)布局樣式,本文將給大家介紹如何使用Vue?Router組合布局,文中有詳細(xì)的代碼示例供大家參考,感興趣的同學(xué)可以跟著小編一起學(xué)習(xí)
    2023-05-05
  • Vue如何使用patch-package優(yōu)雅地修改第三方依賴庫

    Vue如何使用patch-package優(yōu)雅地修改第三方依賴庫

    在前端開發(fā)中,有時我們需要對第三方依賴庫進(jìn)行修改以滿足項目需求,patch-package 是一個優(yōu)秀的工具,可以幫助我們優(yōu)雅地管理這些修改,下面我們來看看具體操作吧
    2025-03-03
  • vue配置文件實現(xiàn)代理v2版本的方法

    vue配置文件實現(xiàn)代理v2版本的方法

    這篇文章主要介紹了vue配置文件實現(xiàn)代理v2版本的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • vue3父子組件通信、兄弟組件實時通信方式

    vue3父子組件通信、兄弟組件實時通信方式

    這篇文章主要介紹了vue3父子組件通信、兄弟組件實時通信方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作

    Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作

    這篇文章主要介紹了Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

当雄县| 金沙县| 安国市| 淄博市| 子洲县| 方城县| 遵义市| 通道| 拉萨市| 右玉县| 奉化市| 宜兴市| 江孜县| 黔东| 卢氏县| 池州市| 柘城县| 镇平县| 桐城市| 大同市| 清苑县| 皋兰县| 绿春县| 鲁山县| 株洲市| 沙坪坝区| 宝山区| 资溪县| 武乡县| 日土县| 景德镇市| 浮山县| 永胜县| 湄潭县| 临武县| 务川| 称多县| 那曲县| 宁乡县| 北辰区| 荆门市|