VBtn
TheVBtn component is a versatile button that supports multiple variants, sizes, and states. It can be used as a regular button, link, or router link with icon support.
Basic Usage
Variants
- Elevated
- Flat
- Outlined
- Text
- Tonal
- Plain
Icon Buttons
Sizes
Loading State
Block Button
Router Integration
Props
The visual style variant. Options:
elevated, flat, outlined, text, tonal, plainThe button color (supports theme colors)
The base color when button is not active
The color when button is active
Button size. Options:
x-small, small, default, large, x-largeMakes button an icon button or specifies the icon to display
Icon to display before button text
Icon to display after button text
Expands button to 100% of available width
Shows loading indicator. Can specify color as string
Disables the button
Makes button readonly (visual only, prevents interaction)
Forces button active state
Removes button elevation
Reduces horizontal padding
Stacks icon and text vertically
Adds spacing on specified side(s)
Enables/configures ripple effect
Text content to display in button
Vue Router route location
External link URL
HTML tag to use for root element
Adjusts vertical spacing. Options:
default, comfortable, compactElevation level (0-24)
Border radius. Options:
0, xs, sm, md, lg, xl, pill, circle, or numberAdds border. Can specify width or side
Sets height of button
Sets width of button
Sets minimum width
Sets maximum width
Sets minimum height
Sets maximum height
CSS position. Options:
static, relative, fixed, absolute, stickyPosition on screen (when using fixed/absolute)
Theme to apply to component
Value used when button is in a button group
Slots
Button content
Content to prepend before button text
Content to append after button text
Custom loading indicator content
Events
Emitted when button is selected in a groupPayload:
{ value: boolean }