- Accordion
- Action Bar
- Alert
- Alert Dialog
- Angle Slider
- Aspect Ratio
- Attachment
- Avatar
- Avatar Group
- Badge
- Badge Overflow
- Banner
- Breadcrumb
- Bubble
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Checkbox Group
- Chip
- Circular Progress
- Client Only
- Collapsible
- Color Picker
- Color Swatch
- Combobox
- Combobox Advanced
- Command
- Compare Slider
- Composition
- Context Menu
- Cropper
- Data Grid
- Data Table
- Data Table Advanced
- Date Picker
- Dialog
- Direction Provider
- Drawer
- Dropdown Menu
- Editable
- Empty
- Field
- File Upload
- Form
- FPS
- Gauge
- Hitbox
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kanban
- Kbd
- Kbd Advanced
- Key Value
- Label
- List
- Listbox
- Map
- Marker
- Marquee
- Mask Input
- Masonry
- Media Player
- Mention
- Menubar
- Message
- Message Scroller
- Native Select
- Navigation Menu
- Number Field
- Pagination
- Pending
- Phone Input
- Pin Input
- Popover
- Portal
- Presence
- Progress
- QR Code
- Questionnaire
- Radio Group
- Range Calendar
- Rating
- Relative Time Card
- Resizable
- Responsive Dialog
- Scroll Area
- Scroll Spy
- Scroller
- Segmented Input
- Select
- Selection Toolbar
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Software Purchase Card
- Sonner
- Sortable
- Speed Dial
- Spinner
- Stack
- Stat
- Status
- Stepper
- Stepper Advanced
- Swap
- Switch
- Table
- Tabs
- Tags Input
- Tags Input Advanced
- Textarea
- Time Picker
- Timeline
- Toast
- Toggle
- Toggle Group
- Tooltip
- Tour
- Typography
- Visually Hidden
- Visually Hidden Input
Menampilkan tombol, atau komponen lain yang tampil seperti tombol.
Installation
pnpm dlx shadcn-vue@latest add buttonPasang dependensi berikut:
pnpm add reka-uiSalin dan tempel kode sumber di GitHub ke project Anda.
Sesuaikan path import dengan struktur project Anda.
Usage
<script setup lang="ts">
import { Button } from '@/components/ui/button'
</script>
<template>
<Button variant="outline">
Button
</Button>
</template>2
3
4
5
6
7
8
9
Bentuk Kursor
Tailwind v4 berganti dari cursor: pointer ke cursor: default untuk komponen tombol.
Kalau Anda ingin mempertahankan perilaku cursor: pointer, tambahkan kode berikut ke file CSS Anda:
Perilaku ini juga bisa diaktifkan saat menyiapkan project lewat npx shadcn-vue@latest init --pointer.
@layer base {
button:not(:disabled),
[role="button"]:not(:disabled) {
cursor: pointer;
}
}2
3
4
5
6
Examples
Ukuran
Bawaan
Outline
Secondary
Ghost
Destructive
Link
Icon
<template>
<Button variant="outline" size="icon" aria-label="Submit">
<CircleFadingArrowUpIcon />
</Button>
</template>2
3
4
5
Dengan Ikon
Jarak antara ikon dan teks menyesuaikan otomatis dengan ukuran tombol. Anda tidak perlu menambahkan margin pada ikonnya.
Sudut Membulat
Pakai class rounded-full untuk membuat tombol berbentuk bulat penuh.
Spinner
Button Group
Untuk membuat kelompok tombol, pakai komponen ButtonGroup. Keterangan lengkapnya ada di dokumentasi Button Group.
Link (asChild)
Pakai prop as-child untuk membuat komponen lain tampil seperti tombol. Berikut contoh tautan yang tampil seperti tombol.
<script setup lang="ts">
import { Button } from '@/components/ui/button'
</script>
<template>
<Button as-child>
<a href="/login">Login</a>
</Button>
</template>2
3
4
5
6
7
8
9
API Reference
Button
Komponen Button adalah pembungkus elemen button yang menambahkan beragam style dan fungsi.
| Prop | Tipe | Bawaan |
|---|---|---|
variant | "default" | "outline" | "ghost" | "destructive" | "secondary" | "link" | "default" |
size | "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | "default" |
asChild | boolean | false |