下拉按钮
QBtnDropdown 组件是一个非常方便的下拉式按钮。与 QList 组件搭配起来非常好用,但不局限于此。
如果您在找一个下拉输入而不是按钮的组件,请看 QSelect 组件。
QBtnDropdown API
QBtnDropdown API
props
52
slots
3
events
6
methods
3
accessibility
1
behavior
7
content
10
general
2
model
1
navigation
4
position
4
state
2
style
18
transition
3
toggle-aria-label
: String
v2.8.4+
说明
用于下拉菜单的切换组件上的 aria-label
用法
基础用法
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown color="primary" label="Dropdown Button">
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Photos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Videos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Articles</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
各种内容
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown
class="glossy"
color="purple"
label="Account Settings"
>
<div class="row no-wrap q-pa-md">
<div class="column">
<div class="text-h6 q-mb-md">Settings</div>
<q-toggle v-model="mobileData" label="Use Mobile Data" />
<q-toggle v-model="bluetooth" label="Bluetooth" />
</div>
<q-separator vertical inset class="q-mx-lg" />
<div class="column items-center">
<q-avatar size="72px">
<img src="https://cdn.quasar.dev/img/boy-avatar.png">
</q-avatar>
<div class="text-subtitle1 q-mt-md q-mb-xs">John Doe</div>
<q-btn
color="primary"
label="Logout"
push
size="sm"
v-close-popup
/>
</div>
</div>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
分割按钮
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown
split
class="glossy"
color="teal"
label="Folders"
@click="onMainClick"
>
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="assignment" color="secondary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Vacation</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
自定义按钮
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown
split
color="orange"
push
glossy
no-caps
icon="folder"
label="Dropdown Button"
@click="onMainClick"
>
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="assignment" color="secondary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Vacation</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
自定义下拉图标
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown color="pink" label="Dropdown Button" dropdown-icon="change_history">
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Photos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Videos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section>
<q-item-label>Articles</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
文本标签插槽
Template
Script
All
<template>
<div class="q-pa-md">
<q-btn-dropdown
split
color="cyan"
push
no-caps
@click="onMainClick"
>
<template v-slot:label>
<div class="row items-center no-wrap">
<q-icon left name="map" />
<div class="text-center">
Custom<br>Content
</div>
</div>
</template>
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="assignment" color="secondary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Vacation</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
使用 v-model
Template
Script
All
<template>
<div class="q-pa-md">
<q-toggle v-model="menu" label="Menu state" />
<q-btn-dropdown
v-model="menu"
class="glossy q-ml-lg"
color="primary"
label="Dropdown"
>
<q-list>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="onItemClick">
<q-item-section avatar>
<q-avatar icon="assignment" color="secondary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Vacation</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
Menu state
禁用
Template
<template>
<div class="q-pa-md">
<div class="row q-gutter-sm">
<q-btn-dropdown
disable
class="glossy"
color="primary"
label="Default"
>
<q-list>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-btn-dropdown
split
disable-main-btn
class="glossy"
color="primary"
label="Only main btn"
>
<q-list>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="assignment" color="secondary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Vacation</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-btn-dropdown
split
disable-dropdown
class="glossy"
color="primary"
label="Only dropdown"
>
<q-list>
<q-item clickable v-close-popup>
<q-item-section avatar>
<q-avatar icon="folder" color="primary" text-color="white" />
</q-item-section>
<q-item-section>
<q-item-label>Photos</q-item-label>
<q-item-label caption>February 22, 2016</q-item-label>
</q-item-section>
<q-item-section side>
<q-icon name="info" color="amber" />
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</div>
</template>
Copied to clipboard
下面的示例在 UMD 中不可使用,因为它依赖 Vue Router(所以在 Codepen/jsFiddle 中也不能正常运行)。
分割按钮,并且在主按钮上进行路由跳转
Template
<template>
<div class="q-pa-md">
<q-btn-dropdown
split
to="/start/pick-quasar-flavour"
color="teal"
rounded
label="Go to Docs Index"
>
<q-list>
<q-item clickable v-close-popup>
<q-item-section>
<q-item-label>Photos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup>
<q-item-section>
<q-item-label>Videos</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup>
<q-item-section>
<q-item-label>Articles</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</template>
Copied to clipboard
版权声明 本中文文档内容版权为站长个人所有,保留所有权利。
免责声明 本站点所包含的任何跳转链接均为第三方广告内容,站点对这些广告内容的准确性、合法性、真实性不承担任何责任。用户点击跳转链接进入第三方网站后,应自行判断广告内容的真实性和合法性,并自行承担因使用广告内容而产生的风险和责任。任何因使用第三方广告内容而导致的损失或损害,本站点概不负责。