Vue 生态常用工具库(组合、拖拽、图表、校验、懒加载)

vueuse
VueUse 是一个基于 Vue 组合式 API 的工具库,里面提供了一系列高效、易用的组合函数,用于简化 Vue 开发,节省开发时间。
Vue官网:vueuse.org/
VueUse 主要特点:

丰富的组合函数
TS支持
轻量级
良好的文档

VueUse里面有很多的 分类,每个分类下面又有各种丰富的 API:

浏览器 API

useFetch:用于发起 HTTP 请求,类似于浏览器的 fetch API。
useClipboard:用于操作剪贴板,例如复制文本。
useLocalStorage:简化 localStorage 的使用。
......


状态管理

useToggle:一个简单的开关状态管理工具。
useCounter:用于计数的状态管理工具。
.....


传感器

useMouse:追踪鼠标的位置和状态。
useGeolocation:获取地理位置信息。


用户界面

useFullscreen:控制元素的全屏状态。
useDark:检测和切换暗模式。


工具函数

useDebounce:提供防抖功能。
useThrottle:提供节流功能。

基本使用
安装:
bash 代码解读复制代码npm install @vueuse/core

然后就可以在项目中引入并使用:
html 代码解读复制代码<template>
  <div>{ { x }}</div>
  <div>{ { y }}</div>
</template>

<script setup>
import { useMouse } from '@vueuse/core'

const { x, y } = useMouse()
</script>

<style scoped></style>

综合示例:待办事项
要求:用到两个 VueUse 里面的工具方法:useLocalStorage、useToggle
vuedraggable
vuedraggable 是一个基于 Sortable.js 的 Vue 组件,用于实现拖拽和排序功能。它可以让你在 Vue 应用中轻松地实现拖拽排序,并提供了丰富的配置选项和事件来控制拖拽行为。

Sortable.js 是一个轻量级的 JS 库,用于实现拖拽排序功能。它支持 HTML5 的拖拽 API,并提供了丰富的选项和事件,可以轻松地在网页中实现拖拽排序、拖拽交换等功能。Vue.Draggable 是基于 Sortable.js 构建的,用于在 Vue 应用中实现这些功能。
Sortable.js 的特点:

轻量级:Sortable.js 非常轻量,核心库只有几千字节。
高性能:利用现代浏览器的 HTML5 拖拽 API,提供高性能的拖拽体验。
多样的选项:提供丰富的选项和回调函数,可以自定义拖拽行为。
多种场景:支持多种拖拽场景,包括列表排序、网格布局、分组拖拽等。
与框架集成:容易与主流前端框架集成,如 Vue、React、Angular 等。


基本使用
首先安装这个库:
bash 代码解读复制代码npm install vuedraggable@4.0.0

注意在安装的时候,一定要指定安装的版本为 4.0.0
安装后可以从这个库中导入一个组件:
html 代码解读复制代码<template>
  <draggable 
     v-model="myArray" 
     group="people" 
     @start="drag=true" 
     @end="drag=false" 
     itemKey="id"
   >
    <template #item="{ element }">
      <div class="task">{ { element.name }}</div>
    </template>
  </draggable>
</template>

<script setup>
import draggable from 'vuedraggable'
</script>

这是 vuedraggable 的一个标准用法。

v-model="myArray":数组包含了需要拖拽排序的元素。
group="people":group 属性用于配置分组,相同 group 名称的 draggable 实例之间允许相互拖拽元素。
@start="drag=true":当拖拽操作开始时触发,这里将 drag 变量设置为 true,这可以用于在拖拽开始时触发一些行为,比如改变样式或显示一些提示。
@end="drag=false":当拖拽操作结束时触发,这里将 drag 变量设置为 false

实战案例
一个“未完成”列表和一个“已完成”列表,两个列表之间的项目可以自由拖动。
v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值