diff --git a/packages/core/useDraggable/component.ts b/packages/core/useDraggable/component.ts index 5637997bca9..c9a16a73c60 100644 --- a/packages/core/useDraggable/component.ts +++ b/packages/core/useDraggable/component.ts @@ -34,10 +34,12 @@ export const UseDraggable = /* #__PURE__ */ defineComponent({ 'onStart', 'onMove', 'onEnd', + 'disabled', ] as unknown as undefined, setup(props, { slots }) { const target = ref() const handle = computed(() => props.handle ?? target.value) + const disabled = computed(() => !!props.disabled) const storageValue = props.storageKey && useStorage( props.storageKey, toValue(props.initialValue) || { x: 0, y: 0 }, @@ -61,6 +63,7 @@ export const UseDraggable = /* #__PURE__ */ defineComponent({ handle, initialValue, onEnd, + disabled, })) return () => { diff --git a/packages/core/useDraggable/demo.vue b/packages/core/useDraggable/demo.vue index c54bbb0edd0..185fb61db04 100644 --- a/packages/core/useDraggable/demo.vue +++ b/packages/core/useDraggable/demo.vue @@ -9,14 +9,25 @@ const handle = ref(null) const innerWidth = isClient ? window.innerWidth : 200 +const disabled = ref(false) const { x, y, style } = useDraggable(el, { initialValue: { x: innerWidth / 4.2, y: 80 }, preventDefault: true, + disabled, })