Button Toggle
The QBtnToggle component is another basic element for user input, similar to QRadio but with buttons. You can use this to supply a way for the user to pick an option from multiple choices.
Works well with QField for additional functionality such as a helper, error message placeholder and many others.
Installation
Edit /quasar.conf.js
:framework: {
components: ['QBtnToggle']
}
Basic Usage
<!-- Three choices for the user --> |
Vue Properties
Supports v-model
which should be binded to a String in your scope. Choosing one option (clicking/tapping on a radio) makes your v-model
change to Radio’s val
.
Vue Property | Type | Description |
---|---|---|
options |
Array | An array of objects with value and label properties. The binary components will be created according to this array. |
readonly |
Boolean | Set to true , to make the radio read-only. |
disable |
Boolean | Set to true , to disable the radio. |
dense |
Boolean | Dense Buttons. |
outline |
Boolean | Set true, if you want an outlined button. |
flat |
Boolean | Set true, if you want a flat button. |
push |
Boolean | Set true, if the button should have a push effect. |
rounded |
Boolean | Set true, if the square button should have rounded corners. |
glossy |
Boolean | Set true, if the button should be glossy. |
no-wrap |
Boolean | Prevent text wrapping |
no-caps |
Boolean | Set true, if you don’t want button content/label to be transformed to uppercase letter on Material Theme. |
no-ripple |
Boolean | Disable Material Ripple. Mat theme only. |
wait-for-ripple |
Boolean | Wait for ripple then before emitting @click event. Mat theme only. |
Color Properties
All can take values from Quasar Color Palette.
Vue Property | Type | Description |
---|---|---|
color |
String | Color of buttons. |
text-color |
String | Optional color of buttons label/icon. |
toggle-color |
String | Color for button representing the current selection. |
toggle-text-color |
String | Optional color for button label/icon representing the current selection. |
Options Configuration
The options
property must be an Array of Objects with this structure:{
// required; the model gets this value when button is selected:
value: ...,
// include at least one of the following three props:
label: '...', // Label for button
icon: '...', // Icon for button
iconRight: '...', // Icon for button on right side
// Optional properties that override the QBtnToggle props:
disable,
color,
textColor,
toggleColor,
toggleTextColor,
noCaps,
noWrap,
noRipple,
waitForRipple,
tabindex
}
Vue Events
Vue Event | Description |
---|---|
@input |
Triggered when it gets selected. |