Dashboard-Steuerung
Ein Handle, um eine Sidebar oder ein Panel zu skalieren.
Bearbeiten
Die DashboardResizeHandle-Komponente wird von den Komponenten DashboardSidebar und DashboardPanel verwendet.
Es wird automatisch angezeigt, wenn die resizable prop gesetzt ist, **Sie müssen es nicht manuell hinzufügen **.
Examples (Beispiele)
Within resize-handle slot (auf Deutsch)
Obwohl diese Komponente automatisch angezeigt wird, wenn die resizable-Stütze gesetzt ist, können Sie den resize-handle-Steckplatz der DashboardSidebar und DashboardPanel-Komponenten verwenden, um den Griff anzupassen.
<template>
<UDashboardGroup>
<UDashboardSidebar resizable>
<template #resize-handle="{ onMouseDown, onTouchStart, onDoubleClick }">
<UDashboardResizeHandle
class="after:absolute after:inset-y-0 after:right-0 after:w-px hover:after:bg-(--ui-border-accented) after:transition"
@mousedown="onMouseDown"
@touchstart="onTouchStart"
@dblclick="onDoubleClick"
/>
</template>
</UDashboardSidebar>
<slot />
</UDashboardGroup>
</template>
<script setup lang="ts">
definePageMeta({
layout: 'dashboard'
})
</script>
<template>
<UDashboardPanel resizable>
<template #resize-handle="{ onMouseDown, onTouchStart, onDoubleClick }">
<UDashboardResizeHandle
class="after:absolute after:inset-y-0 after:right-0 after:w-px hover:after:bg-(--ui-border-accented) after:transition"
@mousedown="onMouseDown"
@touchstart="onTouchStart"
@dblclick="onDoubleClick"
/>
</template>
</UDashboardPanel>
</template>
In diesem Beispiel fügen wir ein Pseudo-Element
after hinzu, um eine vertikale Linie beim Hover anzuzeigen.API (Englisch)
Props (nicht)
| Prop | Default | Type |
|---|---|---|
as | 'div' | anyThe element or component this component should render as. |
ui | { base?: any; } |
Slots (englisch)
| Slot | Type |
|---|---|
default | {} |
Theme (englisch)
app.config.ts
export default defineAppConfig({
ui: {
dashboardResizeHandle: {
base: 'hidden lg:block touch-none select-none cursor-ew-resize relative before:absolute before:inset-y-0 before:-left-1.5 before:-right-1.5 before:z-1'
}
}
})vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui({
ui: {
dashboardResizeHandle: {
base: 'hidden lg:block touch-none select-none cursor-ew-resize relative before:absolute before:inset-y-0 before:-left-1.5 before:-right-1.5 before:z-1'
}
}
})
]
})Changelog (englisch)
No recent changes