仪表盘侧边栏切换

ButtonGitHub
自定义用于打开侧边栏的切换按钮。{ color: 'neutral', variant: 'ghost' }

用法

DashboardSidebarToggle 组件由 DashboardNavbarDashboardSidebar 组件使用。

它在移动端会自动显示以切换侧边栏,您无需手动添加

<template>
  <UDashboardSidebarToggle />
</template>

它继承自 Button 组件,因此你可以传递任何属性,例如 colorvariantsize 等。

<template>
  <UDashboardSidebarToggle variant="subtle" />
</template>
按钮默认使用 color="neutral"variant="ghost"

示例

toggle 插槽中

尽管此组件在移动端会自动显示,您可以使用 DashboardNavbarDashboardSidebar 组件的 toggle 插槽来自定义按钮。

<template>
  <UDashboardGroup>
    <UDashboardSidebar>
      <template #toggle>
        <UDashboardSidebarToggle variant="subtle" />
      </template>
    </UDashboardSidebar>

    <slot />
  </UDashboardGroup>
</template>
当使用 DashboardSidebarDashboardNavbar 组件的 toggle-side 属性时,按钮将显示在指定的一侧。

API

属性

属性默认值类型
as'button'any

此组件在不是链接时应呈现的元素或组件。

color'neutral'"错误" | "中性" | "主要" | "次要" | "成功" | "信息" | "警告"
variant'ghost'"link" | "ghost" | "solid" | "outline" | "soft" | "subtle"
side'left'"left" | "right"

要切换的侧边栏的方向。

autofocusfalse | true | "true" | "false"
disabledboolean
namestring
type'button'"reset" | "submit" | "button"

当不是链接时,按钮的类型。

labelstring
activeColor"错误" | "中性" | "主要" | "次要" | "成功" | "信息" | "警告"
activeVariant"link" | "ghost" | "solid" | "outline" | "soft" | "subtle"
尺寸'md'"xs" | "sm" | "md" | "lg" | "xl"
正方形boolean

以四边等距内边距渲染按钮。

blockboolean

渲染全宽按钮。

loadingAutoboolean

根据 @click promise 状态自动设置加载状态

图标any

根据 leadingtrailing 属性显示图标。

avatarAvatarProps

在左侧显示头像。

前置boolean

当为 true 时,图标将显示在左侧。

leadingIconany

在左侧显示图标。

尾部boolean

当为 true 时,图标将显示在右侧。

trailingIconany

在右侧显示图标。

loadingboolean

当为 true 时,将显示加载图标。

loadingIconappConfig.ui.icons.loadingany

loading prop 为 true 时显示的图标。

ui{ base?: ClassNameValue; label?: ClassNameValue; leadingIcon?: ClassNameValue; leadingAvatar?: ClassNameValue; leadingAvatarSize?: ClassNameValue; trailingIcon?: ClassNameValue; }
此组件还支持所有原生 <button> HTML 属性。

主题

app.config.ts
export default defineAppConfig({
  ui: {
    dashboardSidebarToggle: {
      base: 'lg:hidden',
      variants: {
        side: {
          left: '',
          right: ''
        }
      }
    }
  }
})
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: {
        dashboardSidebarToggle: {
          base: 'lg:hidden',
          variants: {
            side: {
              left: '',
              right: ''
            }
          }
        }
      }
    })
  ]
})

更新日志

184ea— chore: 减少类型冗余,通过省略操作按钮中的链接属性

5b177— feat: 扩展原生 HTML 属性 (#5348)

5cb65— 特性:导入 @nuxt/ui-pro 组件