vueuse 中文文档

VueUse useDraggable 拖动元素

VueUse useDraggable 可以拖动元素到任何位置,并返回对应的坐标。

vue.draggable

useDraggable功能比较有限,建议使用vue.draggable这种专业的拖拽组件支持Vue,该网站包含了vue3、vue2和纯js版本,中文文档网址:https://www.itxst.com/vue-draggable/tutorial.html 。

代码示例

<script setup lang="ts">
import { ref } from 'vue'
import { useDraggable } from '@vueuse/core'

const el = ref<HTMLElement | null>(null)

// 初始化,包括起始位置
const { x, y, style } = useDraggable(el, {
  initialValue: { x: 60, y: 60 },
})
</script>
<template>
  <div ref="el" :style="style" style="position: fixed">
    Drag me! I am at {{x}}, {{y}}
  </div>
</template>

组件示例

需要安装@vueuse/components库,如果没安装请先安装。

npm i @vueuse/core @vueuse/components
<UseDraggable :initialValue="{ x: 10, y: 10 }" v-slot="{ x, y }">
  Drag me! I am at {{x}}, {{y}}
</UseDraggable>

例子

Catalog
vueuse 入门 State 状态 Elements 元素 useActiveElement 焦点元素 useDocumentVisibility 是否可见 useDraggable 拖动元素 useDropZone 文件拖拽区 useElementBounding 获取元素边界 useElementSize 元素大小 useElementVisibility 元素是否可见 useIntersectionObserver 元素是否可见 useMouseInElement 鼠标hover事件 useMutationObserver 监视 DOM 变动 useParentElement 获取父元素 useResizeObserver 监控元素大小 useWindowFocus 窗口焦点状态 useWindowScroll 滚动条位置 useWindowSize 获取窗口大小 Browser 浏览器 Sensors 感应监测