Admin 元件

Button

參考
觸發動作的按鈕。尺寸 medium/small;樣式 filled/outline/ghost。

安裝

Terminal
pnpm dlx shadcn-vue add @admin/button
import { AdminButton } from '@/components/admin/button'

用法

<script setup lang="ts">import { AdminButton } from '@/components/admin/button'</script>​<template>  <div class="flex items-center gap-3">    <admin-button>Primary</admin-button>    <admin-button variant="outline">Outline</admin-button>    <admin-button variant="ghost">Ghost</admin-button>  </div></template>

場景

尺寸

尺寸:medium(預設)、small。

<script setup lang="ts">import { AdminButton } from '@/components/admin/button'</script>​<template>  <div class="flex items-center gap-3">    <admin-button size="medium">Medium</admin-button>    <admin-button size="small">Small</admin-button>  </div></template>

樣式

variant:filled/outline/ghost;disabled 為停用。

<script setup lang="ts">import { AdminButton } from '@/components/admin/button'</script>​<template>  <div class="flex items-center gap-3">    <admin-button variant="filled">Filled</admin-button>    <admin-button variant="outline">Outline</admin-button>    <admin-button variant="ghost">Ghost</admin-button>    <admin-button disabled>Disabled</admin-button>  </div></template>

顏色

color:primary(預設)、secondary;可與任一 variant 組合。

<script setup lang="ts">import { AdminButton } from '@/components/admin/button'</script>​<template>  <div class="flex flex-col gap-4">    <div class="flex items-center gap-3">      <admin-button color="primary" variant="filled">Primary Filled</admin-button>      <admin-button color="primary" variant="outline">Primary Outline</admin-button>      <admin-button color="primary" variant="ghost">Primary Ghost</admin-button>    </div>    <div class="flex items-center gap-3">      <admin-button color="secondary" variant="filled">Secondary Filled</admin-button>      <admin-button color="secondary" variant="outline">Secondary Outline</admin-button>      <admin-button color="secondary" variant="ghost">Secondary Ghost</admin-button>    </div>  </div></template>

API 參考

組成

<template>  <admin-button>按鈕文字</admin-button></template>

admin-button

Props

名稱型別預設值說明
variant"filled" | "outline" | "ghost" | undefined—視覺樣式變體
size"small" | "medium" | undefined—按鈕尺寸
color"primary" | "secondary" | "text" | undefined—主色系(影響背景與邊框顏色);`text` 為 ghost variant 專屬色階,其他 variant 下無對應樣式
classClassValue—根元素之自訂 class
disabledboolean | undefined—設為 `true` 時禁用按鈕並套用視覺停用樣式
type"reset" | "submit" | "button" | undefined—原生 `type` 屬性;未指定時瀏覽器預設為 `submit`,表單內之工具按鈕請設為 `button`
asChildboolean | undefined—Change the default rendered element for the one passed as a child, merging their props and behavior. Read our [Composition](https://www.reka-ui.com/docs/guides/composition) guide for more details.
asglobalThis.Component | AsTag | undefined"button"The element or component this component should render as. Can be overwritten by `asChild`.

Slots

名稱Bindings說明
default{}—

注意事項

  • color="text" 為 ghost 專屬:text 色階僅在 variant="ghost" 下有對應樣式(toolbar / dropdown trigger 等次要 icon-only action 場景);搭配 filled/outline 時無效果,渲染同該 variant 預設色。
  • 表單內請設 type="button":原生 type 未指定時瀏覽器預設為 submit,放在 <form> 內的工具按鈕會觸發表單送出。

更新紀錄

  • feat: admin-button 新增 ghost 專屬 text 色階與原生 type 屬性047fb57
  • feat: 加入 'type' prop046cbe4