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

vue中如何實(shí)現(xiàn)復(fù)制內(nèi)容到剪切板詳解

 更新時(shí)間:2022年10月13日 12:02:18   作者:愛(ài)學(xué)習(xí)的獅王  
有些業(yè)務(wù)需求需要點(diǎn)擊按鈕復(fù)制鏈接,下面這篇文章主要給大家介紹了關(guān)于vue中如何實(shí)現(xiàn)復(fù)制內(nèi)容到剪切板的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. element-ui的el-table實(shí)現(xiàn)雙擊復(fù)制單元格的內(nèi)容到剪切板

1. 在el-table中添加雙擊響應(yīng)事件

<el-table
      :data="tableData"
      @cell-dblclick="copyText"
      border
    >
    .....
<el-table>

cell-dblclick函數(shù)有四個(gè)參數(shù),分別是row, column, cell, event;

row:可看到被其操作單元格所在行的所有的數(shù)據(jù);

cloumn:可以看到被其操作單元格的property,根據(jù)property可以再row中得到該單元格的值;

cell:可看到該單元格的dom結(jié)構(gòu);

event:事件觸發(fā)時(shí)的所有參數(shù);

2. 在methods中添加雙擊綁定的copyText方法

copyText(row, column, cell, event){
  // 雙擊復(fù)制
  let save = function (e){
    e.clipboardData.setData('text/plain',event.target.innerText); 
    e.preventDefault();  //阻止默認(rèn)行為
  }
  document.addEventListener('copy',save);//添加一個(gè)copy事件
  document.execCommand("copy");//執(zhí)行copy方法
  this.$message({message: '復(fù)制成功', type:'success'})//提示
}

2. 單擊copy圖標(biāo)復(fù)制對(duì)應(yīng)的內(nèi)容到剪切板

1. 添加copy的小圖標(biāo)

<span v-else>
  <i class="el-icon-document-copy" @click="clickCopy(msg)" />
  {{ msg }}
</span>

2. 在methods中添加單擊復(fù)制的clickCopy方法

clickCopy(msg) {
  const save = function(e) {
    e.clipboardData.setData('text/plain', msg)
    e.preventDefault() // 阻止默認(rèn)行為
  }
  document.addEventListener('copy', save) // 添加一個(gè)copy事件
  document.execCommand('copy') // 執(zhí)行copy方法
  this.$message({ message: '復(fù)制成功', type: 'success' })
}

3.踩坑

1. 添加了copy事件之后整個(gè)頁(yè)面按ctrl+c復(fù)制東西沒(méi)反應(yīng)了

猜測(cè)是使用document.addEventListener(‘copy’, save)會(huì)在整個(gè)dom樹(shù)添加事件,會(huì)覆蓋dom樹(shù)原有的事件的發(fā)生,所以需要添加once參數(shù)使這個(gè)事件只生效一次

once 表示 listener 在添加之后最多只調(diào)用一次。如果是 true, listener 會(huì)在其被調(diào)用之后自動(dòng)移除

clickCopy(msg) {
      const save = function(e) {
        e.clipboardData.setData('text/plain', msg)
        e.preventDefault() // 阻止默認(rèn)行為
      }
      const once = {
        once: true
      }
      document.addEventListener('copy', save, once) // 添加一個(gè)copy事件,當(dāng)觸發(fā)時(shí)執(zhí)行一次,執(zhí)行完刪除
      document.execCommand('copy') // 執(zhí)行copy方法
      this.$message({ message: '復(fù)制成功', type: 'success' })
    }

4.eventlistener參考:

https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener

總結(jié)

到此這篇關(guān)于vue中如何實(shí)現(xiàn)復(fù)制內(nèi)容到剪切板的文章就介紹到這了,更多相關(guān)vue復(fù)制內(nèi)容到剪切板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vite配置路徑別名的簡(jiǎn)單實(shí)現(xiàn)方法

    Vite配置路徑別名的簡(jiǎn)單實(shí)現(xiàn)方法

    Vite項(xiàng)目中我們可以手動(dòng)將src路徑設(shè)置**@**路徑別名,可以省下很多引入路徑的冗余路徑,下面這篇文章主要給大家介紹了關(guān)于Vite配置路徑別名的簡(jiǎn)單實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-04-04
  • vue隱藏路由的實(shí)現(xiàn)方法

    vue隱藏路由的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue隱藏路由的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 前端vue中實(shí)現(xiàn)文件下載的幾種方法總結(jié)

    前端vue中實(shí)現(xiàn)文件下載的幾種方法總結(jié)

    這篇文章主要介紹了前端vue中實(shí)現(xiàn)文件下載的幾種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue-cli項(xiàng)目中使用echarts圖表實(shí)例

    vue-cli項(xiàng)目中使用echarts圖表實(shí)例

    在本篇文章里我們給大家分享了關(guān)于vue中使用echarts圖表的實(shí)現(xiàn)方法,有興趣的朋友們學(xué)習(xí)下。
    2018-10-10
  • vue+elementUI 復(fù)雜表單的驗(yàn)證、數(shù)據(jù)提交方案問(wèn)題

    vue+elementUI 復(fù)雜表單的驗(yàn)證、數(shù)據(jù)提交方案問(wèn)題

    這篇文章主要介紹了vue+elementUI 復(fù)雜表單的驗(yàn)證、數(shù)據(jù)提交方案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • vue實(shí)現(xiàn)聯(lián)動(dòng)選擇

    vue實(shí)現(xiàn)聯(lián)動(dòng)選擇

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)聯(lián)動(dòng)選擇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue3中toRef與toRefs的區(qū)別

    Vue3中toRef與toRefs的區(qū)別

    這篇文章主要介紹了Vue3中toRef與toRefs的區(qū)別,toRefs與toRef功能一致,但可以批量創(chuàng)建多個(gè)ref對(duì)象,需要注意的是它只會(huì)解析對(duì)象的第一層屬性,語(yǔ)法直接傳入對(duì)象 toRefs,下面更多內(nèi)容的介紹需要的小伙伴可以參考一下
    2022-03-03
  • vue?ui的安裝步驟以及使用詳解

    vue?ui的安裝步驟以及使用詳解

    最近公司開(kāi)發(fā)一個(gè)項(xiàng)目,采用的前后端分離的方式,前端采用vue,但是再項(xiàng)目開(kāi)發(fā)過(guò)程中遇到一個(gè)比較麻煩的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vue?ui的安裝步驟以及使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue2+element-ui新增編輯表格+刪除行功能

    vue2+element-ui新增編輯表格+刪除行功能

    這篇文章主要介紹了vue2+element-ui新增編輯表格+刪除行功能,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • babel7.x和webpack4.x配置vue項(xiàng)目的方法步驟

    babel7.x和webpack4.x配置vue項(xiàng)目的方法步驟

    這篇文章主要介紹了babel7.x和webpack4.x配置vue項(xiàng)目的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05

最新評(píng)論

浙江省| 汝阳县| 宝清县| 禄丰县| 县级市| 洪江市| 长寿区| 龙川县| 柘城县| 丰顺县| 堆龙德庆县| 交城县| 乐清市| 盐山县| 天台县| 青冈县| 柳州市| 申扎县| 通渭县| 延安市| 宁陕县| 烟台市| 黔南| 积石山| 蓬安县| 聂荣县| 曲阜市| 遂溪县| 勃利县| 金溪县| 吉木乃县| 晋中市| 琼中| 郧西县| 深泽县| 蓬溪县| 沁阳市| 高阳县| 绍兴县| 隆回县| 河西区|