DashboardSearchButtonPRO

一个预设样式的 Button,用于打开 DashboardSearch 模态框。

用法

DashboardSearchButton 组件用于打开 DashboardSearch 模态框。

<template>
  <UDashboardSearchButton />
</template>

它扩展了 Button 组件,因此你可以传递任何属性,例如 colorvariantsize 等。

<template>
  <UDashboardSearchButton variant="subtle" />
</template>
未折叠时,按钮默认为 color="neutral"variant="outline";折叠时,默认为 variant="ghost"

折叠

使用 collapsed 属性来隐藏按钮的标签和键盘按键提示。默认为 false

<template>
  <UDashboardSearchButton collapsed />
</template>
DashboardSidebar 组件中使用此按钮时,直接使用 collapsed 插槽属性。

键盘按键提示

使用 kbds 属性在按钮中显示键盘按键。默认为 ['meta', 'K'],以匹配 DashboardSearch 组件的默认快捷键。

<template>
  <UDashboardSearchButton :kbds="['alt', 'O']" />
</template>

API

属性

属性默认值类型
color

'neutral'

"error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"

collapsed

false

boolean

键盘按键提示

["meta", "k"]

(string | undefined)[] | KbdProps[]

icon

appConfig.ui.icons.search

string

按钮中显示的图标。

label

t('dashboardSearchButton.label')

string

按钮中显示的标签。

size

"md" | "xs" | "sm" | "lg" | "xl"

variant

"link" | "solid" | "outline" | "soft" | "subtle" | "ghost"

按钮的变体。未折叠时默认为 'outline',折叠时默认为 'ghost'。

ui

{ base?: ClassNameValue; trailing?: ClassNameValue; } & { base?: ClassNameValue; label?: ClassNameValue; leadingIcon?: ClassNameValue; leadingAvatar?: ClassNameValue; leadingAvatarSize?: ClassNameValue; trailingIcon?: ClassNameValue; }

插槽

插槽类型
leading

{}

default

{}

trailing

{}

主题

app.config.ts
export default defineAppConfig({
  uiPro: {
    dashboardSearchButton: {
      slots: {
        base: '',
        trailing: 'hidden lg:flex items-center gap-0.5 ms-auto'
      }
    }
  }
})
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({
      uiPro: {
        dashboardSearchButton: {
          slots: {
            base: '',
            trailing: 'hidden lg:flex items-center gap-0.5 ms-auto'
          }
        }
      }
    })
  ]
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import uiPro from '@nuxt/ui-pro/vite'

export default defineConfig({
  plugins: [
    vue(),
    uiPro({
      uiPro: {
        dashboardSearchButton: {
          slots: {
            base: '',
            trailing: 'hidden lg:flex items-center gap-0.5 ms-auto'
          }
        }
      }
    })
  ]
})