Buttons

Use Bootstrap's custom Button component for actions in forms, dialogs, and more. Includes support for a handful of contextual variations, sizes, states, and more.

Overview

<Button> component generates either a nativebutton element, a element, or router-link component with the styling of a button.

<Button>Button</Button>
<Button variant="danger">Button</Button>
<Button variant="success">Button</Button>
<Button variant="outline-primary">Button</Button>
1
2
3
4

Element type

The Button component generally renders a button element. However, you can also render an a element by providing an href prop value. You may also generate vue-router router-link when providing a value for the to prop (vue-router is required).

Type

You can specify the button's type by setting the prop type to 'button', 'submit' or 'reset'. The default type is 'button'.

Note the type prop has no effect when either href or to props are set.

Sizing

Fancy larger or smaller buttons? Specify lg or sm via the size prop.

<Row>
    <Col lg="4" class="pb-2"><Button size="sm">Small Button</Button></Col>
    <Col lg="4" class="pb-2"><Button>Default Button</Button></Col>
    <Col lg="4" class="pb-2"><Button size="lg">Large Button</Button></Col>
</Row>
1
2
3
4
5

Contextual Variants

Use the variant prop to generate the various Bootstrap contextual button variants. By default, <Button> will render with the secondary variant. The variant prop adds the Bootstrap v5 class .btn-variant on the rendered button.

Solid color variants

primary, secondary, success, danger, warning, info, light , dark

<Button variant="primary">Primary</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="success">Success</Button>
<Button variant="danger">Danger</Button>
<Button variant="warning">Warning</Button>
<Button variant="info">Info</Button>
<Button variant="light">Light</Button>
<Button variant="dark">Dark</Button>
1
2
3
4
5
6
7
8

Outline color variants

Use Property outline to apply outlined color variants.

<Button outline variant="primary">Primary</Button>
<Button outline variant="secondary">Secondary</Button>
<Button outline variant="success">Success</Button>
<Button outline variant="danger">Danger</Button>
<Button outline variant="warning">Warning</Button>
<Button outline variant="info">Info</Button>
<Button outline variant="light">Light</Button>
<Button outline variant="dark">Dark</Button>
1
2
3
4
5
6
7
8

Block level buttons

Block Level button is a full width button of its container. Use prop block to make a block/full width button.

<Button block variant="primary">Block Level Button</Button>
1

Pill style

Prefer buttons with a more rounded-pill style? Just set the prop pill to true.

<Button pill>Button</Button>
<Button pill variant="primary">Button</Button>
<Button pill variant="outline-secondary">Button</Button>
<Button pill variant="success">Button</Button>
<Button pill variant="outline-danger">Button</Button>
<Button pill variant="info">Button</Button>
1
2
3
4
5
6

Squared style

Prefer buttons with a more square corner style? Just set the prop squared to true.

<Button squared>Button</Button>
<Button squared variant="primary">Button</Button>
<Button squared variant="outline-secondary">Button</Button>
<Button squared variant="success">Button</Button>
<Button squared variant="outline-danger">Button</Button>
<Button squared variant="info">Button</Button>
1
2
3
4
5
6

Disabled state

Set the disabled prop to disabled button default functionality. disabled also works with buttons rendered as a elements and `router-link (i.e. with the href or to prop set).

The pressed prop can be set to one of three values:

  • true: Sets the .active class and adds the attribute aria-pressed="true".
  • false: Clears the .active class and adds the attribute aria-pressed="false".
  • null: (default) Neither the class .active nor the attribute aria-pressed will be set.

Buttons with Badges

Use prop badge to set button badges

<Button :badge="14" class="me-2" badge-variant="primary">Inbox</Button>
<Button :badge="20" badge-variant="primary">Sent</Button>
1
2

Component reference

PropertyTypeDefaultDescription
tagstringbuttonDefault Button Tag. Can be changed depending on requirements
variantstringsecondaryApplies one of the Bootstrap theme color variants to the component
sizestringnullSet the size of the component's appearance. 'sm', 'md' (default), or 'lg'
typestringbuttonButton Type. Applies only when tag is button
outlinebooleanfalseOutline Based Contextual Color Variants
blockbooleanfalseFull Width button. Adds w-full class to the button element
pillbooleanfalseRenders the button with the pill style appearance when set to 'true'
squaredbooleanfalseRenders the button with non-rounded corners when set to 'true'
disabledbooleanfalseWhen set to `true`, disables the component's functionality and places it in a disabled state
pressedbooleanfalseWhen set to 'true', gives the button the appearance of being pressed and adds attribute 'aria-pressed="true"'. When set to `false` adds attribute 'aria-pressed="false"'. Tri-state prop. Syncable with the .sync modifier
badgestring,numbernullAppends Badge in Button Element
badgeVariantstringprimaryAppended Badge's color variant