DashboardNavegación

Una barra de navegación responsive para mostrar en un panel de control.

xph0000xUso

El componente DashboardNavbar es una barra de navegación receptiva que se integra con el componente DashboardSidebar. Incluye un botón de alternancia móvil para habilitar la navegación receptiva en los diseños del tablero.

Úselo dentro de la ranura header del componente DashboardPanel:

pages/index.vue
<script setup lang="ts">
definePageMeta({
  layout: 'dashboard'
})
</script>

<template>
  <UDashboardPanel>
    <template #header>
      <UDashboardNavbar />
    </template>
  </UDashboardPanel>
</template>

Utilice las ranuras left, default y right para personalizar la barra de navegación.

Inbox

4
<script setup lang="ts">
import type { TabsItem } from '@nuxt/ui'

const items: TabsItem[] = [
  {
    label: 'All',
    value: 'all'
  },
  {
    label: 'Unread',
    value: 'unread'
  }
]
</script>

<template>
  <UDashboardNavbar title="Inbox">
    <template #leading>
      <UDashboardSidebarCollapse />
    </template>

    <template #trailing>
      <UBadge label="4" variant="subtle" />
    </template>

    <template #right>
      <UTabs :items="items" default-value="all" size="sm" class="w-40" :content="false" />
    </template>
  </UDashboardNavbar>
</template>
En este ejemplo, usamos el componente Tabs en la ranura de la derecha para mostrar algunas pestañas.

Nombre

Utilice el prop title para establecer el título de la barra de navegación.

Dashboard

<template>
  <UDashboardNavbar title="Dashboard" />
</template>

Icon

Utilice el prop icon para configurar el icono de la barra de navegación.

Dashboard

<template>
  <UDashboardNavbar title="Dashboard" icon="i-lucide-house" />
</template>

Télam

Utilice el prop toggle para personalizar el botón de alternancia que se muestra en el móvil que abre el componente DashboardSidebar.

Puede pasar cualquier propiedad del componente Button para personalizarlo.

<template>
  <UDashboardNavbar
    title="Dashboard"
    :toggle="{
      color: 'primary',
      variant: 'subtle',
      class: 'rounded-full'
    }"
  />
</template>

Toggle lado

Utilice el prop toggle-side para cambiar el lado del botón de alternancia.

<template>
  <UDashboardNavbar
    title="Dashboard"
    toggle-side="right"
  />
</template>

API (Edición española)

Accesorios

Prop Default Type
as
'div'
any

The element or component this component should render as.

icon
any

The icon displayed next to the title.

title
string
toggle
true
boolean | Omit<ButtonProps, LinkPropsKeys>

Customize the toggle button to open the sidebar. { color: 'neutral', variant: 'ghost' }

toggleSide
'left'
"left" | "right"

The side to render the toggle button on.

ui
{ root?: SlotClass; left?: SlotClass; icon?: SlotClass; title?: SlotClass; center?: SlotClass; right?: SlotClass; toggle?: SlotClass; }

Slots (Español)

Slot Type
title
{}
leading
DashboardNavbarSlotsProps & { ui: object; }
trailing
DashboardNavbarSlotsProps & { ui: object; }
left
DashboardNavbarSlotsProps
default
DashboardNavbarSlotsProps
right
DashboardNavbarSlotsProps
toggle
DashboardNavbarSlotsProps & { ui: object; }

Temas

app.config.ts
export default defineAppConfig({
  ui: {
    dashboardNavbar: {
      slots: {
        root: 'h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5',
        left: 'flex items-center gap-1.5 min-w-0',
        icon: 'shrink-0 size-5 self-center me-1.5',
        title: 'flex items-center gap-1.5 font-semibold text-highlighted truncate',
        center: 'hidden lg:flex',
        right: 'flex items-center shrink-0 gap-1.5',
        toggle: ''
      },
      variants: {
        toggleSide: {
          left: {
            toggle: ''
          },
          right: {
            toggle: ''
          }
        }
      }
    }
  }
})
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: {
        dashboardNavbar: {
          slots: {
            root: 'h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5',
            left: 'flex items-center gap-1.5 min-w-0',
            icon: 'shrink-0 size-5 self-center me-1.5',
            title: 'flex items-center gap-1.5 font-semibold text-highlighted truncate',
            center: 'hidden lg:flex',
            right: 'flex items-center shrink-0 gap-1.5',
            toggle: ''
          },
          variants: {
            toggleSide: {
              left: {
                toggle: ''
              },
              right: {
                toggle: ''
              }
            }
          }
        }
      }
    })
  ]
})

xph05xChangelog (Edición española)

No recent changes