quasar
Version:
Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
153 lines (131 loc) • 4.61 kB
JSON
{
"mixins": [ "components/btn/use-btn", "composables/private/use-model-toggle", "composables/private/use-transition" ],
"meta": {
"docsUrl": "https://v2.quasar.dev/vue-components/button-dropdown"
},
"props": {
"model-value": {
"extends": "model-value",
"type": "Boolean",
"desc": "Controls Menu show/hidden state; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
"required": false,
"examples": [ "v-model=\"menuState\"" ]
},
"split": {
"type": "Boolean",
"desc": "Split dropdown icon into its own button",
"category": "content|behavior"
},
"dropdown-icon": {
"extends": "icon"
},
"disable-main-btn": {
"type": "Boolean",
"desc": "Disable main button (useful along with 'split' prop)",
"category": "behavior"
},
"disable-dropdown": {
"type": "Boolean",
"desc": "Disables dropdown (dropdown button if using along 'split' prop)",
"category": "behavior"
},
"no-icon-animation": {
"type": "Boolean",
"desc": "Disables the rotation of the dropdown icon when state is toggled",
"category": "style"
},
"content-style": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueStyleProp",
"desc": "Style definitions to be attributed to the menu",
"examples": [
"background-color: #ff0000",
":content-style=\"{ backgroundColor: '#ff0000' }\""
],
"category": "style"
},
"content-class": {
"type": [ "String", "Array", "Object" ],
"tsType": "VueClassProp",
"desc": "Class definitions to be attributed to the menu",
"examples": [
"my-special-class",
":content-class=\"{ 'my-special-class': <condition> }\""
],
"category": "style"
},
"cover": {
"type": "Boolean",
"desc": "Allows the menu to cover the button. When used, the 'menu-self' and 'menu-fit' props are no longer effective",
"category": "position"
},
"persistent": {
"type": "Boolean",
"desc": "Allows the menu to not be dismissed by a click/tap outside of the menu or by hitting the ESC key",
"category": "behavior"
},
"no-route-dismiss": {
"type": "Boolean",
"desc": "Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set",
"category": "behavior"
},
"auto-close": {
"type": "Boolean",
"desc": "Allows any click/tap in the menu to close it; Useful instead of attaching events to each menu item that should close the menu on click/tap",
"category": "behavior"
},
"menu-anchor": {
"type": "String",
"desc": "Two values setting the starting position or anchor point of the menu relative to its target",
"values": [
"top left", "top middle", "top right", "top start", "top end",
"center left", "center middle", "center right", "center start", "center end",
"bottom left", "bottom middle", "bottom right", "bottom start", "bottom end"
],
"default": "bottom end",
"category": "position"
},
"menu-self": {
"type": "String",
"desc": "Two values setting the menu's own position relative to its target",
"values": [
"top left", "top middle", "top right", "top start", "top end",
"center left", "center middle", "center right", "center start", "center end",
"bottom left", "bottom middle", "bottom right", "bottom start", "bottom end"
],
"default": "top end",
"category": "position"
},
"menu-offset": {
"type": "Array",
"desc": "An array of two numbers to offset the menu horizontally and vertically in pixels",
"examples": [ "[8, 8]", "[5, 10]" ],
"category": "position"
},
"toggle-aria-label": {
"type": "String",
"desc": "aria-label to be used on the dropdown toggle element",
"examples": [ "Open menu" ],
"category": "accessibility",
"addedIn": "v2.8.4"
}
},
"slots": {
"default": {
"extends": "default"
},
"label": {
"desc": "Customize main button's content through this slot, unless you're using the 'icon' and 'label' props"
},
"loading": {
"desc": "Override the default QSpinner when in 'loading' state",
"addedIn": "v2.8"
}
},
"events": {
"click": {
"extends": "click",
"desc": "Emitted when user clicks/taps on the main button (not the icon one, if using 'split')"
}
}
}