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. js原型,继承

    javascript是为了成为轻量级的语言而开发的.开发者并没有选择像其他面向对象的语言一样,定义类(class),而是使用了protopype实现继承. 每一个函数在创建时,都会创建它的Protot ...

  2. MVP模式(转)

    什么是MVP模式?     这个MVP可不是腾讯游戏<王者荣耀>中的MVP.我们今天要讨论的MVP其实同MVC一样,是一种编程模式和思想,也许更准确地讲是一种架构. MVP和MVC的区别  ...

  3. 做文件上传功能时,dubbo对MultipartFile文件传输时,一个bug:Fail to decode request due to: RpcInvocation

    三月 22, 2019 2:37:27 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() fo ...

  4. 《SAP MDM主数据管理》.pdf

    <SAP MDM主数据管理>.pdf 有需要的联系 wx :erpworld

  5. 时间处理及interval函数运用

    MySql时间操作1.interval的说明1.1.当函数使用时,即interval(),为比较函数,如:interval(10,1,3,5,7); 结果4:原理:10为被比较数,后面1,3,5,7为 ...

  6. ubuntu20.0.4 安装influxdb

    官网:https://docs.influxdata.com/influxdb/v2.3/install/?t=Linux1.命令:# Ubuntu/Debian wget https://dl.in ...

  7. 牛客 二叉树中和为某一值的路径 【时间19ms】【内存9560k】

    https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca 构造函数:new ArrayList(al)把al的所有值复制到 ...

  8. vue项目前台带表格的页面,让表格根据屏幕大小自适应高度,小屏幕时不出现多个滚动条

    参见馆藏库房系统, 右侧整体结构一般如下 <el-container class="ml10 mr10 br7 bgw"> <el-main> // el- ...

  9. vue中,解决chrome下,的warning, Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event 问题

    写项目的时候,Chrome 提醒: [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' eve ...

  10. 2022-04-12内部群每日三题-清辉PMP

    1.一个项目的成本绩效指数(CPI)为1.2,且关键路径上的一个可交付成果落后于进度. 如果项目经理将项目回正轨,项目会发生什么情况? A.活动将并行执行 B.范围将被修改 C.成本和风险将会增加 D ...