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

Vue3實(shí)現(xiàn)clipboard復(fù)制的使用示例

 更新時(shí)間:2023年11月03日 09:27:56   作者:三劫散仙  
在日常開發(fā)中,為用戶提供復(fù)制文本功能的需求比較常見,下面介紹一款vue3可用的插件,可以快速實(shí)現(xiàn)這個(gè)功能,感興趣的可以了解一下

一個(gè)很小的交互功能,網(wǎng)上搜了一下有一個(gè) vue3-clipboard 直接支持vue3,到github倉庫看了下,原作者已經(jīng)不維護(hù)這個(gè)項(xiàng)目了:

推薦使用 vueuse 自帶的 useclipboard 功能,由 vue 團(tuán)隊(duì)維護(hù),穩(wěn)定性基本沒問題

官網(wǎng)鏈接:useClipboard | VueUse

官網(wǎng)的例子如下:

import { useClipboard } from '@vueuse/core'
 
  const source = ref('Hello')
  const { text, copy, copied, isSupported } = useClipboard({ source })
 
    
    
    <div v-if="isSupported">
    <button @click='copy(source)'>
      <!-- by default, `copied` will be reset in 1.5s -->
      <span v-if='!copied'>Copy</span>
      <span v-else>Copied!</span>
    </button>
    <p>
      Current copied: <code>{{ text || 'none' }}</code>
    </p>
  </div>
  <p v-else>
    Your browser does not support Clipboard API
  </p>

上面的例子并不具備通用性,我們實(shí)際應(yīng)用肯定需要再次封裝,下面給出我封裝的效果,在 Table 的每一行中,有一個(gè)name提供快捷拷貝展示效果如下:

這樣用圖標(biāo)代替復(fù)制的按鈕樣式會(huì)更加美觀一點(diǎn)

在ts工具類中封裝的通用拷貝方法,只需要傳入要復(fù)制的參數(shù)即可:

import {Component, h} from "vue";
import Icon from '@ant-design/icons-vue';
import { useClipboard } from '@vueuse/core'
import { message } from 'ant-design-vue';
const { copy, isSupported } = useClipboard();
 
export function renderDesignIcon (icon: Component, conf:any=null) {
    return  h(Icon,conf, { component: () => h(icon,) })
}
 
export function handleCopy (text:string) {
    if (!isSupported) {
        message.error("您的瀏覽器不支持Clipboard API");
        return;
    }
    copy(text);
    message.success(`復(fù)制成功:${text}`);
}
 

然后在使用的時(shí)候,只需要在 CopyOutlined 圖標(biāo)的點(diǎn)擊事件上,調(diào)用這個(gè)方法即可:

在 vue 模版中調(diào)用

CopyOutlined @click="handleCopy(text)" style="color: gray;"> </CopyOutlined>

在render函數(shù)中調(diào)用:

  {
    title: "應(yīng)用名",
    dataIndex: "applicationName",
    width: '180px',
    customRender: ({text, record, index, column}) => {
      return h('div',{}, [
          `${record.applicationName} `,
        renderDesignIcon(CopyOutlined, {
          style: { color: 'gray' },
          onClick: () => {
            handleCopy(record.applicationName)
          }
        })
      ] )
    },
  }

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

相關(guān)文章

  • Vue3中的事件總線詳解

    Vue3中的事件總線詳解

    在Vue3中,推薦使用CompositionAPI和第三方庫mitt來實(shí)現(xiàn)事件總線,而不是Vue2中使用Vue實(shí)例的方式
    2026-01-01
  • 如何在Vue項(xiàng)目中應(yīng)用TypeScript類

    如何在Vue項(xiàng)目中應(yīng)用TypeScript類

    與如何在React項(xiàng)目中應(yīng)用TypeScript類類似在VUE項(xiàng)目中應(yīng)用typescript,我們需要引入一個(gè)庫vue-property-decorator,需要的小伙伴可續(xù)看下文具體介紹
    2021-09-09
  • vue正確使用watch監(jiān)聽屬性變化方式

    vue正確使用watch監(jiān)聽屬性變化方式

    這篇文章主要介紹了vue正確使用watch監(jiān)聽屬性變化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue父組件點(diǎn)擊觸發(fā)子組件事件的實(shí)例講解

    vue父組件點(diǎn)擊觸發(fā)子組件事件的實(shí)例講解

    下面小編就為大家分享一篇vue父組件點(diǎn)擊觸發(fā)子組件事件的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 通過vue如何設(shè)置header

    通過vue如何設(shè)置header

    這篇文章主要介紹了通過vue如何設(shè)置header,每個(gè)項(xiàng)目都有頭部但是內(nèi)容不一樣;這種情況我們可以考慮在app.vue中創(chuàng)建公共頭部,那么怎么配置公共頭部header,下面小編通過實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • Vue filter格式化時(shí)間戳?xí)r間成標(biāo)準(zhǔn)日期格式的方法

    Vue filter格式化時(shí)間戳?xí)r間成標(biāo)準(zhǔn)日期格式的方法

    今天小編就為大家分享一篇Vue filter格式化時(shí)間戳?xí)r間成標(biāo)準(zhǔn)日期格式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 基于ElementUI實(shí)現(xiàn)v-tooltip指令的示例代碼

    基于ElementUI實(shí)現(xiàn)v-tooltip指令的示例代碼

    文本溢出隱藏并使用tooltip 提示的需求,相信在平時(shí)的開發(fā)中會(huì)經(jīng)常遇到,常規(guī)做法一般是使用 elementui 的 el-tooltip 組件,在每次組件更新的時(shí)候去獲取元素的寬度/高度判斷是否被隱藏,本文給大家介紹了基于ElementUI實(shí)現(xiàn)v-tooltip指令,需要的朋友可以參考下
    2024-09-09
  • vxe-table 設(shè)置單元格垂直對(duì)齊的方法

    vxe-table 設(shè)置單元格垂直對(duì)齊的方法

    在vxe-table中,可通過cell-style或cell-class-name設(shè)置單元格垂直對(duì)齊,使用verticalAlign: top實(shí)現(xiàn)頂部對(duì)齊,默認(rèn)為垂直居中,合并單元格時(shí)同樣支持此設(shè)置,本文給大家介紹vxe-table 設(shè)置單元格垂直對(duì)齊的方法,感興趣的朋友一起看看吧
    2025-06-06
  • Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    這篇文章主要介紹了使用Vue和ElementUI制作一個(gè)帶有左側(cè)菜單和右側(cè)內(nèi)容區(qū)的網(wǎng)站頁面的過程,文中通過CSS樣式和深度作用符,實(shí)現(xiàn)了頁面的美化和功能的完善,需要的朋友可以參考下
    2025-02-02
  • vue 中使用print.js導(dǎo)出pdf操作

    vue 中使用print.js導(dǎo)出pdf操作

    這篇文章主要介紹了vue 中使用print.js導(dǎo)出pdf操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評(píng)論

英超| 固原市| 通海县| 彭泽县| 石家庄市| 拜城县| 孝感市| 治多县| 广汉市| 双鸭山市| 南通市| 滕州市| 宿州市| 新乡县| 商南县| 兰考县| 上林县| 阿坝县| 济南市| 嘉荫县| 太谷县| 新巴尔虎右旗| 威宁| 宁都县| 巴林左旗| 大余县| 晋州市| 中江县| 上虞市| 河北省| 涪陵区| 仙游县| 定日县| 海盐县| 深州市| 巩义市| 绥中县| 郧西县| 疏附县| 神池县| 罗甸县|