1.安装

npm i @vueuse/core

2.使用

  • useClipboard 剪贴板
<script setup lang="ts">
import { ref } from 'vue'
import { useClipboard, usePermission } from '@vueuse/core' const input = ref('')

const { text, isSupported, copy } = useClipboard()
const permissionRead = usePermission('clipboard-read')
const permissionWrite = usePermission('clipboard-write')
</script> <template>
<div v-if="isSupported">
<el-input v-model="input" type="text"></el-input>
<el-button @click="copy(input)">复制</el-button>
</div>
<p v-else>
该浏览器不支持useClipboard剪贴板API
</p>
</template>
  • useFullscreen 全屏
<script setup lang="ts">
import { ref } from 'vue'
import { useFullscreen } from '@vueuse/core' const el = ref(null)
const { toggle, isFullscreen } = useFullscreen(el)
</script> <template>
  <el-button v-if="!isFullscreen" @click="toggle">全屏</el-button><br>
  <el-button v-if="isFullscreen" @click="toggle">退出全屏</el-button>
</div>
</template>
  • useNow 获取当前时间
<script setup lang="ts">
import { useNow } from '@vueuse/core' const now = useNow()
</script> <template>
<div>Now: {{ now }}</div>
</template>
  • useDateFormat 格式化时间
<script setup lang="ts">
import { ref, computed } from 'vue-demi'
import { useNow, useDateFormat } from '@vueuse/core' const formatted = useDateFormat(useNow(), 'YYYY-MM-DD HH:mm:ss')
</script> <template>
<div>{{ formatted }}</div>
</template>
  • useBase64
<script setup lang="ts">
import type { Ref } from 'vue'
import { ref } from 'vue'
import { useBase64 } from '@vueuse/core' const text = ref('')
const file = ref() as Ref<File>
const image = ref() as Ref<HTMLImageElement> const { base64: textBase64 } = useBase64(text)
const { base64: fileBase64 } = useBase64(file)
const { base64: imageBase64 } = useBase64(image)
const { base64: bufferBase64 } = useBase64(new ArrayBuffer(8)) function onFileInput(e: Event) {
file.value = (e.target as HTMLInputElement).files![0]
}
</script> <template>
<div space-y-4>
<div grid md:grid-cols-2 gap-2>
<div>
<span>Text Input</span>
<textarea v-model="text" h-40 type="text" placeholder="Type something..." />
</div>
<div>
<span>Base64</span>
<textarea h-40 :value="textBase64" readonly />
</div>
</div> <div grid md:grid-cols-2 gap-2>
<div>
<span>Buffer Input</span>
<pre mt-2>new ArrayBuffer(1024)</pre>
</div>
<div>
<span>Base64</span>
<textarea h-40 :value="bufferBase64" readonly />
</div>
</div> <div grid md:grid-cols-2 gap-2>
<div>
<span>File Input</span>
<div>
<input mt-2 type="file" @input="onFileInput">
</div>
</div>
<div>
<span>Base64</span>
<textarea h-40 :value="fileBase64" readonly />
</div>
</div> <div grid md:grid-cols-2 gap-2>
<div>
<span>Image Input</span>
<img
ref="image"
w-full h-40 object-cover
class="rounded mt-2"
src="https://images.unsplash.com/photo-1494256997604-768d1f608cac?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=200&q=80"
>
</div>
<div>
<span>Base64</span>
<textarea h-40 :value="imageBase64" readonly />
</div>
</div>
</div>
</template> <style scoped>
textarea {
min-width: 0px !important;
width: 100%;
}
</style>

VueUse实用工具的更多相关文章

  1. Bootstrap<基础十> 响应式实用工具

    Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...

  2. 10款让WEB前端开发人员更轻松的实用工具

    这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...

  3. 十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

  4. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  5. 实用工具推荐(Live Writer)(2015年05月26日)

    1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...

  6. 快速访问WCF服务--ServiceModel 元数据实用工具 (Svcutil.exe)

    基本定义 ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档. SvcUtil.exe ServiceModel 元数据实用工具可在 Win ...

  7. Mac开发者必备实用工具推荐

    最近一个师兄给我推荐了一些Mac上的实用工具,用起来非常顺手,能提高不少开发效率.于是就想着把自己之前用过的其他工具也整理一下,一块推荐给大家,希望能对大家有帮助. Alfred 目前Mac下最好用的 ...

  8. SQL cmd 实用工具学习 -1

    启动 sqlcmd 实用工具并连接到 SQL Server 的默认实例 在"开始"菜单上,单击"运行". 在"打开"框中,键入 cmd,然后 ...

  9. 每位iOS开发人员不容错过的10大实用工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  10. 【转】十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

随机推荐

  1. 【NPDP专项练习】第五章 工具与绩效度量

    第五章 工具与绩效度量 1.这是一种使用一系列的迭代轮数通过专家组对未来可能的一种预测 A 决策一制作方法论 B 德尔菲 C 实施路线 D 组合标准 答案:B 解析 德尔菲流程(DelphiProce ...

  2. PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像|附代码数据

    原文链接:http://tecdat.cn/?p=24346 最近我们被客户要求撰写关于用户流失数据挖掘的研究报告,包括一些图形和统计输出. 在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集 ...

  3. 物理机安装mysql8, 修改数据库目录

    自动安装mysql ,并修改数据库目录. #! /bin/bash #mysql官方下载路径:https://dev.mysql.com/downloads/mysql/ # 配置dnf源 mkdir ...

  4. clear_buff-cache.sh

    #! /bin/bash sync;echo 1 > /proc/sys/vm/drop_caches # 表示清除pagecache sync;echo 2 > /proc/sys/vm ...

  5. linux系统安装谷歌浏览器设置开机自动启动并打开指定页面

      要在Linux系统上安装Google Chrome浏览器,可以按照以下步骤: 下载Google Chrome浏览器的安装包,你可以从Google的官方网站或者第三方下载站点上获取. 解压缩安装包并 ...

  6. wmi和wmic

    https://baike.baidu.com/item/Windows%20Management%20Instrumentation/572501?fromtitle=WMI&fromid= ...

  7. 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组

    var threeSum = function(nums) {let ans = [];const len = nums.length;if(nums == null || len < 3) r ...

  8. lui - pager - 分页

    pager - 分页 demo lui demo <template> <div class="app-container"> <h3>el-p ...

  9. django学习:转载

    https://www.cnblogs.com/ginvip/p/6894690.html https://www.cnblogs.com/yangmv/p/5327477.html https:// ...

  10. weblogic10.3.1.0安装(windows版)

    转: weblogic10.3.1.0安装(windows版) 安装完成后 配置数据源 然后配置部署项目. myeclipse 配置weblogic