首页 > 其他分享 >VueUse实用工具

VueUse实用工具

时间:2023-01-19 15:11:41浏览次数:52  
标签:core const vueuse 实用工具 VueUse useBase64 import ref

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>

 

标签:core,const,vueuse,实用工具,VueUse,useBase64,import,ref
From: https://www.cnblogs.com/gwjieiee/p/17046946.html

相关文章

  • 如何理解 logrotate 实用工具?请收下这份保姆级教程
    当你想对一个应用程序跟踪使用状况或者进行故障排除的时候,日志是十分有用的。然而,随着越来越多的信息被记录,日志文件占据的硬盘空间也会越来越大。久而久之,一个日志文件能变......
  • 实用工具:英文字体识别的网站
    ​​ShelflifeExpandedFont|Webfont&Desktop|MyFonts​​英文字体识别网站大全​​WhatTheFontFont|MyFonts​​​​http://media-vibrance.itn.liu.se/fyfont/......
  • JavaScript 实用工具方法库
     utils.jsimportmomentfrom'moment';exportfunctionfixedZero(val){returnval*1<10?`0${val}`:val;}exportfunctiongetTimeDistance(type){......
  • python实用工具
    日志记录工具代码(log_util.py)importosimportloggingimportlogging.configUSER_PATH=''#日志文件夹BASIC_PATH=os.path.join(os.path.dirname(os.path.......
  • flash实用工具类+开源包收藏
    ​​​​ActionScriptUtilityClassTweener​​TweeningPlatform​​​​tween24​​ –一位日本人写的tween库​​Tweener​​Audio​​as3soundeditorlib​​​​ASA......
  • 开发者工具|15款音视频开发者必备实用工具
    对于音视频开发者来说,有个高效的辅助工具能大大提升开发效率。今天博主推荐这些年来桌面必备的工具,如果您觉得对你有用,可以收藏防止下次找不到。......
  • 【一库】vueuse:我不许身为vuer,你的工具集只有lodash!
      vueuse是什么?一款基于Vue组合式API的函数工具集。以上是官方网站关于它的定义。官网地址首先,它基于VueCompositionApi(组合式API),只有在支持组合式API......
  • Java命令行实用工具jps和jstat 专题
    在Linux或其他UNIX和类UNIX环境下,ps命令想必大家都不陌生,我相信也有不少同学写过psaux|grepjava|grep-vgrep|awk'{print$2}'这样的管道命令来找出Java进程的p......
  • 实用工具(锐捷智慧教室篇)-E-Wit工具
    大家好,我是小杜。今天是美好的“周五”───我有周五吗?好像没有!学习不“香”吗,为以后有美好的周五而努力,奥利给!!!这几周逐步掌握了设备如何登录、如何部署配置,在学习过......
  • 实用工具(锐捷云桌面篇)-Halo工具
    大家好,我是小杜。今日在学习的过程中又发现了一个云桌面好用的工具—“Halo工具”。Halo工具是集云主机体检、故障信息收集工具、故障排查案例集、极简部署等于......