Button Toolbar
Group a series of button-groups and/or input-groups together on a single line.
Example 1: with button groups
HTML
template
<BButtonToolbar key-nav aria-label="Toolbar with button groups">
<BButtonGroup class="mx-1">
<BButton>«</BButton>
<BButton>‹</BButton>
</BButtonGroup>
<BButtonGroup class="mx-1">
<BButton>Edit</BButton>
<BButton>Undo</BButton>
<BButton>Redo</BButton>
</BButtonGroup>
<BButtonGroup class="mx-1">
<BButton>›</BButton>
<BButton>»</BButton>
</BButtonGroup>
</BButtonToolbar>
Example 2: with mixture of small button group and small input group.
HTML
template
<BButtonToolbar aria-label="Toolbar with button groups and input groups">
<BButtonGroup size="sm" class="me-1">
<BButton>Save</BButton>
<BButton>Cancel</BButton>
</BButtonGroup>
<BInputGroup size="sm" prepend="$" append=".00">
<BFormInput value="100" class="text-end" />
</BInputGroup>
</BButtonToolbar>
Example 3: with button groups and dropdown menu.
HTML
template
<BButtonToolbar aria-label="Toolbar with button groups and dropdown menu">
<BButtonGroup class="mx-1">
<BButton>New</BButton>
<BButton>Edit</BButton>
<BButton>Undo</BButton>
</BButtonGroup>
<BDropdown class="mx-1" placement="right" text="menu">
<BDropdownItem>Item 1</BDropdownItem>
<BDropdownItem>Item 2</BDropdownItem>
<BDropdownItem>Item 3</BDropdownItem>
</BDropdown>
<BButtonGroup class="mx-1">
<BButton>Save</BButton>
<BButton>Cancel</BButton>
</BButtonGroup>
</BButtonToolbar>
Usage
Feel free to mix input groups and dropdowns with button groups in your toolbars. Similar to the example above, you'll likely need some utility classes though to space things properly.
Sizing
Note, if you want smaller or larger buttons or controls, set the size
prop directly on the BButtonGroup
, BInputGroup
, and BDropdown
components.
HTML
template
<div>
<BButtonToolbar aria-label="Toolbar with size sm">
<BButtonGroup size="sm" class="mx-1">
<BButton>New</BButton>
<BButton>Edit</BButton>
<BButton>Undo</BButton>
</BButtonGroup>
</BButtonToolbar>
</div>
<div class="mt-2">
<BButtonToolbar aria-label="Toolbar with dropdown size sm">
<BDropdown size="sm" class="mx-1" placement="right" text="menu">
<BDropdownItem>Item 1</BDropdownItem>
<BDropdownItem>Item 2</BDropdownItem>
<BDropdownItem>Item 3</BDropdownItem>
</BDropdown>
</BButtonToolbar>
</div>
<div class="mt-2">
<BButtonToolbar aria-label="Toolbar with size lg">
<BButtonGroup size="lg" class="mx-1">
<BButton>New</BButton>
<BButton>Edit</BButton>
<BButton>Undo</BButton>
</BButtonGroup>
</BButtonToolbar>
</div>
<div class="mt-2">
<BButtonToolbar aria-label="Toolbar with dropdown size lg">
<BDropdown size="lg" class="mx-1" placement="right" text="menu">
<BDropdownItem>Item 1</BDropdownItem>
<BDropdownItem>Item 2</BDropdownItem>
<BDropdownItem>Item 3</BDropdownItem>
</BDropdown>
</BButtonToolbar>
</div>
Justify
Make the toolbar span the maximum available width, by increasing spacing between the button groups, input groups and dropdowns, by setting the prop justify
.
HTML
template
<BButtonToolbar justify aria-label="Toolbar with justify">
<BButtonGroup class="mx-1">
<BButton>New</BButton>
<BButton>Edit</BButton>
<BButton>Undo</BButton>
</BButtonGroup>
<BDropdown class="mx-1" placement="right" text="menu">
<BDropdownItem>Item 1</BDropdownItem>
<BDropdownItem>Item 2</BDropdownItem>
<BDropdownItem>Item 3</BDropdownItem>
</BDropdown>
<BButtonGroup class="mx-1">
<BButton>Save</BButton>
<BButton>Cancel</BButton>
</BButtonGroup>
</BButtonToolbar>
Component Reference
<BButtonToolbar>
Prop | Type | Default | Description |
---|---|---|---|
aria-label | string | undefined | Sets the value of `aria-label` attribute on the rendered element |
justify | boolean | false | Make the toolbar span the maximum available width, by increasing spacing between the button groups, input groups and dropdowns |
role | string | undefined | Sets the ARIA attribute `role` to a specific value |
Name | Scope | Description |
---|---|---|
default | Content to place in the button toolbar |