基于Vue3+ElementPlus項目,復制文字到剪貼板功能實踐指南,揭秘使用js-tool-big-box工具庫的核心優勢

在前端開發項目中,很多時候有那么一個場景,就是要求將一段文案復制下來,這段文案可能是一串很長的id,可能是一條命令語句,可能是一小段文案,復制到剪貼板上。這樣有利于用戶復制到其他地方去,使得用戶操作起來更便捷。

目錄

1 前言?

2 基于Vue3+ElementPlus項目來使用工具

2.1 實現素材

2.2 定義界面?

2.3? 使用Vue3定義數據依賴

2.4 引入js-tool-big-box工具庫,實現復制功能?

2.5 方法說明

3 使用js-tool-big-box工具庫的好處

3.1 說明文檔的與眾不同

3.2 目前已有的工具方法?

3.3 使用js-tool-big-box的好處?

4 最后


1 前言?

所以提到copy-to-clipboard大家肯定不陌生,這個工具很方便,使用起來也很簡單,所以我就想,js-tool-big-box這個工具庫,如果把這個功能添加進去,一定能更幫助更多的前端小伙伴們,說干就干,下面我們說一下js-tool-big-box這個工具庫,如何使用復制文字到剪貼板的功能。

2 基于Vue3+ElementPlus項目來使用工具

2.1 實現素材

這一小節講解的實現素材包括:

  1. 啟動Vue3項目,主要使用到reactive定義數據依賴;
  2. 安裝ElementPlus,主要用到ElMessageel-button組件功能;
  3. 安裝js-tool-big-box,基于Vue3項目使用其復制文字到剪貼板功能。

2.2 定義界面?

首先,我們希望定義一個模板界面,界面中有兩個輸入框第一個可以隨意輸入文字,然后添加按鈕,點擊按鈕實現復制文字到剪貼板功能,然后我們手動執行粘貼,可以將第一個輸入框的文字復制到第二個輸入框中,算是大功告成。Vue3模板界面代碼如下:

<template><div class="home"><div class="top">js-tool-big-box</div><div class="top top2">做更豐富的前端JS工具庫</div><div class="div-box">copy處:<input type="text" v-model="form.copyVal" /></div><el-button type="primary" @click="go2Copy()">復制一下</el-button><div class="div-box">paste處:<input type="text" v-model="form.pasteVal" /></div></div>
</template>

2.3? 使用Vue3定義數據依賴

如果你剛剛使用Vue3不久,總會難以想起Vue3如何定義數據依賴,就像上午還在做Vue項目用兩個大括號綁定變量數據,突然下午開始做React項目,寫上兩個大括號就報錯一樣。這里我們引入reactive,然后定義兩個輸入框的數據依賴。

<script setup>import { reactive } from "vue";import { ElMessage } from 'element-plus'const form = reactive({copyVal: '',pasteVal: ''})
</script>

2.4 引入js-tool-big-box工具庫,實現復制功能?

首先安裝js-tool-big-box工具庫

執行命令npm i?js-tool-big-box

項目中引入工具庫,同時工具庫對外提供了dataBox對象,用于復制文字到剪貼板的功能。引入代碼如下:

import { dataBox } from 'js-tool-big-box';

接下來就可以開始實現功能調用了,上面的模板處,我們點擊按鈕,會執行一個go2Copy方法,這里來實現一下:

const go2Copy =() =>{const text = form.copyVal;dataBox.copyText(text, () => {ElMessage({type: 'success',message: '復制成功'})}, () => {ElMessage({type: 'error',message: '復制異常,請嘗試其他方式復制內容'})})}

?

2.5 方法說明

?工具使用起來很便捷,通過對外提供的dataBox對象,調用copyText方法,就可以實現功能。方法使用總結如下:

方法名返回值入參
copyText--

第一個參數必填,表示需要復制到剪貼板的文字;

第二個參數非必填,為一個回調函數,表示復制成功后的回調函數;

第三個參數非必填,為一個回調函數,表示復制失敗后的回調函數;

其實我倒是覺得,回調函數還是很有必要的,畢竟前端javascript調用瀏覽器,再調用操作系統的功能是需要一定時間的,而前端開發同學為了很好的用戶體驗,很多時候是需要給用戶一些頁面上的提示的。例如彈出一個toast提示,例如將復制按鈕變動一下,例如其他地方給一個提示,總之給用戶提示的方式多種多樣,但這個回調函數,還是應該有的,而且很必要

3 使用js-tool-big-box工具庫的好處

3.1 說明文檔的與眾不同

從學習java的時候,到后來的jquery等工具api的時候,會有一個小工具,我也想過是否做一個小工具,或者單獨起一個網址,又或者將說明文檔寫到項目的readme里,又或者是寫到npm的那個介紹里。后來我發現,我還是更喜歡文章形式,文章就會有自己更多的發揮空間,可以和大家聊聊天,可以在評論中接受更多的消息,所以我統一將說明文檔寫到了csdn的博客中。后續的方法繼續加,專欄博客就會繼續累加。

3.2 目前已有的工具方法?

?目前我已經根據自己以往的經驗,將一些使用頻率非常高的功能糅合了進去,后續還會繼續累加,并根據大家的反映,提供更多的功能進去,目前已有的功能如下:

3.3 使用js-tool-big-box的好處?

你在前端開發項目中,是否遇到過這樣的問題呢?比如我們在開發過程中,幾個業務場景都需要的方法,就不單獨實現了,寫到一個公共的目錄下,大家共同調用;比如自己難以實現的功能,去網上找一找,安裝引入,大家開始使用;甚至有時候,有的同事比較獨特,你引入了,我也要單獨寫一遍,自己用;還有時候,有人自己安裝了了一個第三方庫,然后沒有告訴一起開發的同事,導致項目起不來,然后才開始問,哦,原來需要安裝一下。

其實這些問題或者場景,我都遇到過。所以我希望js-tool-big-box可以越來越豐富,越來越滿足大家的日常需求。大家可以少寫一些公共方法,直接使用這個工具庫。況且大家最浪費時間或者最核心的是業務功能,又不是這個工具庫,也不必擔心使用了工具庫,或是那些AI人工智能一樣,哪天自己的業務能力被取代了。大家可以把更多的時間用于自己的核心業務開發中去。

使用了這個工具庫以后呢,也是希望大家可以減少一些第三方庫的安裝,這樣package.json會少一些內容,也可以減少因為安裝而引起的團隊溝通困擾。

4 最后

最后呢,希望大家有一些想法可以評論區告訴我,或者私信告訴我,我希望我們可以為這個工具庫添磚加瓦,讓他變得越來越豐富,希望可以真正幫助開發者們減少install,減少冗余的公共方法。你有更多的時間去做業務開發,有更多的思路去提升你們產品的用戶體驗,那個時候,希望你可以在團隊中越來越游刃有余吧。

我在文章末尾加了投票環節,希望得到你寶貴的一票哦!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12319.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12319.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12319.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自然資源-城鄉規劃行業未來二十年將何去何從?

自然資源-城鄉規劃行業未來二十年將何去何從? 城鄉規劃行業未來風口在以下幾個方向&#xff0c;看好啦&#xff01;緊跟國家發展戰略和政策背景。 1.大數據的城市規劃應用。 包含:公共數據平臺的搭建CIM&#xff0c;數據賦能治理&#xff0c;城市規劃中大數據應用的研究 等…

微軟必應bing國內官方代理商,廣告賬戶如何開戶?

微軟必應Bing作為全球知名的搜索引擎之一&#xff0c;其廣告平臺為眾多企業提供了廣闊的市場空間和精準的推廣機會。對于中國內地的企業而言&#xff0c;通過必應Bing開展國內廣告推廣不僅能夠觸及更廣泛的潛在客戶群體&#xff0c;還能有效提升品牌影響力。通過微軟必應Bing國…

【算法作業】均分卡牌,購買股票

問題描述 John 有兩個孩子&#xff0c;在 John病逝后&#xff0c;留下了一組價值不一定相同的魔卡&#xff0c; 現在要求你設計一種策略&#xff0c;幫John的經管人將John的這些遺產分給他的兩個孩子&#xff0c;使得他們獲得的遺產差異最小&#xff08;每張魔卡不能分拆&#…

搜索引擎的設計與實現(三)

目錄 5 系統詳細實現 5.1實現環境配置 5.2功能實現 5.2.1 建立索引 5.2.2 文件搜索實現 5.2.3 數據庫的連接配置 5.2.4 數據庫搜索實現 5.2.5 后臺數據編輯實現 前面內容請移步 搜索引擎的設計與實現&#xff08;二&#xff09; 免費源代碼&畢業設計論文 搜索…

git-刪除workspace.xml的跟蹤

問題描述 .gitignore 文件內容如下&#xff1a; .pyc *.pyc user_files/ .vscode/ __pycache__//.idea/misc.xml /.idea/modules.xml /.idea/inspectionProfiles/profiles_settings.xml /.idea/inspectionProfiles/Project_Default.xml /.idea/batrp_webbackend-server-dev.i…

NARUTO 復現記錄

1 環境配置 下載項目&#xff0c;一定要 git 下載全項目&#xff0c;下載完后要檢查third_parities 里面的coslam和neural_slam_eval 文件全不全。 git clone --recursive https://github.com/oppo-us-research/NARUTO.git 環境配置 注意 bash scripts/installation/conda…

番外篇 | 利用PyQt5+YOLOv5來搭建目標檢測系統(附可視化界面+功能介紹+源代碼)

前言:Hello大家好,我是小哥談。PyQt5是一個Python綁定的Qt庫,是用于創建圖形用戶界面(GUI)和其他應用程序組件的工具包。PyQt5提供了許多GUI元素,如按鈕、文本框、標簽等,也提供了許多Qt的功能,如網絡、數據庫、XML等。通過PyQt5可以在Python中使用Qt的豐富功能和強大的工…

克服虧損的負面影響 學學現貨白銀止損的方法

一個多月以前&#xff0c;現貨黃金的上漲還十分強勁&#xff0c;一度還逼近歷史的高位30大關。但是我們看近半個月以來&#xff0c;現貨白銀價格出現了調整。很多在高位買入的投資者都承受了較大的虧損&#xff0c;這時候就凸顯出了現貨白銀止損的作用。如果投資者能夠通過近期…

Git 基礎使用(2) 分支管理

文章目錄 分支概念分支使用查看分支分支創建分支切換分支合并合并沖突分支刪除 分支管理快進模式分支策略內容保存錯誤處理 分支概念 &#xff08;1&#xff09;分支概念 Git分支是指在版本控制系統Git中&#xff0c;用來表示項目的不同工作流程或開發路徑的一個重要概念。通過…

【cmake】Windows 環境下編譯第三方依賴源碼(以編譯Xerces庫為例)

第三方依賴源碼的編譯分為兩種&#xff0c;一種是使用 Configure 腳本編譯&#xff0c;另一種是使用 CMakeLists.txt 編譯。Xerces 3.2.3 的編譯方式是 CMakeLists.txt 腳本編譯。 必要軟件&#xff1a; CMake &#xff08;CMake | Download&#xff09;Visual Studio 2019&a…

前端AJAX講解

目錄 1.AJAX是什么&#xff1f; 2.異步交互和同步交互 3.AJAX常見應用情景和優缺點 4.AJAX的優缺點 5.AJAX發送異步請求&#xff08;四步操作&#xff09; 6.經典案例 1.AJAX是什么&#xff1f; AJAX即“Asynchronous JavaScript and XML”&#xff08;異步的JavaScript與…

指針基礎實踐

文章目錄 1.聲明指針2.初始化指針3.指針地址和大小&#xff0c;值4.指針解引用,修改值5.指針指向堆內存&#xff0c;修改值6.申請堆內存并釋放7.數組釋放8.指針運算9.指針遞增10.指針遞減11.指針常量12.常量指針13.常量指針指向常量 1.聲明指針 2.初始化指針 3.指針地址和大小…

【數據結構】二叉樹(Binary Tree)

文章目錄 一、樹的概念及結構二、二叉樹的概念及結構1.二叉樹的概念2.特殊的二叉樹3.二叉樹的性質 三、二叉樹的存儲順序存儲鏈式存儲 四、二叉樹的實現1.創建二叉樹2.二叉樹的遍歷前序遍歷中序遍歷后序遍歷層序遍歷根據遍歷順序創建二叉樹 3.二叉樹的基本操作1.總結點個數2.二…

ctfshow之_萌新web9至web10

一、訪問在線靶場ctfshow 1、web9 如下圖所示&#xff0c;進入_萌新賽的web9問題&#xff0c;題目提醒flag在config.php中&#xff1a; 如上圖所示&#xff0c;可以get傳參&#xff0c;且傳入的參數需要正則匹配system、exec、highlight&#xff0c;且不區分大小寫&#xff0…

C++設計模式|創建型 5.原型模式

1.什么是原型模式&#xff1f; 原型模式?種創建型設計模式&#xff0c;該模式的核?思想是基于現有的對象創建新的對象&#xff0c;?不是從頭開始創建。 在原型模式中&#xff0c;通常有?個原型對象&#xff0c;它被?作創建新對象的模板。新對象通過復制原型對象的屬性和狀…

Mac IDEA 自動補全mybatis sql語句

導航 Mac IDEA 自動補全mybatis sql語句一、點擊IDEA 右側Database選項二、選擇添加對應數據庫三、輸入數據庫信息和方案四、輸入數據庫信息和方案五、成功 Mac IDEA 自動補全mybatis sql語句 背景&#xff1a; 想在Mapper中&#xff0c;能夠實現自動檢索數據庫表和對應的字段…

QT日志類SimpleQtLogger的簡單記錄

在現代軟件開發中&#xff0c;日志記錄是必不可少的部分。它不僅幫助開發者在調試和維護軟件時了解程序的運行狀態&#xff0c;還能提供關鍵的錯誤信息。對于使用Qt框架開發應用程序的開發者來說&#xff0c;選擇一個合適的日志庫至關重要。本文將詳細介紹Qt日志庫SimpleQtLogg…

web前端之sass中的顏色函數、active按鈕激活、hover鼠標懸浮、disabled禁用、scss循環、css

MENU 效果圖htmlsassscss編譯后的css頁面css 效果圖 注意查看藍色按鈕。 html <div class"box"><button class"btn type_1">按鈕</button><button class"btn type_2">按鈕</button><button class"btn ty…

一文讀懂通用漏洞評分系統CVSS4.0:順帶理清CVE、CWE及其與CVSS之間的關系

事件響應和安全團隊論壇 (FIRST&#xff0c;Forum of Incident Response and Security Teams) 于 2023 年 11 月 1 日正式推出第四版通用漏洞評分系統 (CVSS 4.0&#xff0c;Common Vulnerability Scoring System version 4.0)。CVSS 4.0 是評估計算機系統安全漏洞嚴重性的行業…

C++ 多態性

一 多態性的分類 編譯時的多態 函數重載 運算符重載 運行時的多態 虛函數 1 運算符重載的引入 使用C編寫程序時&#xff0c;我們不僅要使用基本數據類型&#xff0c;還要設計新的數據類型-------類類型。 一般情況下&#xff0c;基本數據類型的運算都是運算符來表達&#x…