DraggableItemSideBar
Overview
DraggableItemSideBar
creates a sidebar panel that can be dragged and expanded/collapsed. It is ideal for navigation menus or tool panels that need to be shown or hidden dynamically and repositioned by the user.
Props
Prop | Description | Type | Required | Default Value |
---|---|---|---|---|
show | Controls the visibility of the sidebar. | boolean | false | false |
expand | Whether the sidebar is expanded. | boolean | false | false |
width | Width of the sidebar. | number,string | false | 'auto' |
location | Sidebar position: 'left', 'right', 'top', 'bottom'. | string | false | 'left' |
title | Title displayed in the sidebar header. | string | false | - |
disabledExpand | Disables the expand/collapse feature. | boolean | false | false |
disabledHeader | Hides the header section. | boolean | false | false |
disabledClose | Hides the close button. | boolean | false | false |
disabledOrder | Disables drag ordering with other items. | boolean | false | false |
containerId | ID of the parent container (for teleporting). | string | false | - |
Events
Name | Description |
---|---|
update:expand | Emitted when the expand state changes. Payload: (value:boolean) |
close | Emitted when the sidebar is closed. Payload: () |
update:show | Emitted when the visibility changes. Payload: (value:boolean) |
Slots
Name | Description |
---|---|
default | Content of the sidebar. |
title | Custom content for the header area. |
extra-btn | Extra buttons in the header. |
Usage
vue
<script setup lang="ts">
import { DraggableContainer, DraggableItemSideBar } from '@hungpvq/vue-draggable';
</script>
<template>
<DraggableContainer>
<DraggableItemSideBar title="Title" show right>
<div style="height: 100vh"></div>
</DraggableItemSideBar>
</DraggableContainer>
</template>