Skip to content

Dropdown 下拉菜单

常见的下拉菜单。

基础用法

包裹任意元素,对其做下拉菜单。

控制台
 visible: false
查看代码
vue
<template>
	<demo-container>
		<gov-dropdown v-model="visible">
			<gov-button @click="visible = !visible">下拉菜单</gov-button>
			<template #dropdown>
				<gov-dropdown-item>个人中心</gov-dropdown-item>
				<gov-dropdown-item disabled>联系我们</gov-dropdown-item>
				<gov-dropdown-item divided>退出平台</gov-dropdown-item>
			</template>
		</gov-dropdown>
		<template #console> visible: {{ visible }} </template>
	</demo-container>
</template>

<script setup>
import { ref } from "vue";
const visible = ref(false);
</script>

参数控制

可设置不同参数控制组件。

下拉方向默认是 bottom 你可以象设置 Popper 组件一样设置不同方向的下拉,在此不做展示。

控制台
 visible: false 
size: default
hideAfterClick: false
disabled: false
center: true
查看代码
vue
<template>
	<demo-container class="gov-demo-dropdown">
		<!-- 控制器 -->
		<div>
			<gov-radio-group button v-model="size">
				<gov-radio value="large">大菜单</gov-radio>
				<gov-radio value="default">默认菜单</gov-radio>
				<gov-radio value="small">小菜单</gov-radio>
			</gov-radio-group>
			&nbsp;&nbsp;&nbsp;
			<gov-checkbox v-model="hideAfterClick">
				点击下拉菜单后是否关闭
			</gov-checkbox>
			<gov-checkbox v-model="disabled">是否禁用</gov-checkbox>
			<gov-checkbox v-model="center">居中布局</gov-checkbox>
		</div>
		<hr />
		<!-- 组件 -->
		<gov-dropdown
			v-model="visible"
			:size="size"
			:hideAfterClick="hideAfterClick"
			:disabled="disabled"
			:center="center"
		>
			<gov-button @click="visible = !visible">下拉菜单</gov-button>
			<template #dropdown>
				<gov-dropdown-item icon="user"> 个人中心 </gov-dropdown-item>
				<gov-dropdown-item icon="phone" disabled>
					联系我们
				</gov-dropdown-item>
				<gov-dropdown-item icon="setting" divided>
					退出平台
				</gov-dropdown-item>
			</template>
		</gov-dropdown>
		<!-- 状态 -->
		<template #console>
			visible: {{ visible }} <br />
			size: {{ size }} <br />
			hideAfterClick: {{ hideAfterClick }} <br />
			disabled: {{ disabled }}<br />
			center: {{ center }}
		</template>
	</demo-container>
</template>

<script setup>
import { ref } from "vue";
const visible = ref(false);
const size = ref("default");
const hideAfterClick = ref(false);
const disabled = ref(false);
const center = ref(true);
</script>
<style lang="scss">
.gov-demo-dropdown .gov-dropdown-item {
	min-width: 100px;
}
</style>
属性名说明类型可选值默认值
modelValue绑定值,控制下拉菜单的显示Booleantrue, false
disabled是否禁用下拉菜单Booleantrue, falsefalse
center下拉菜单是否居中Booleantrue, falsefalse
hideAfterClick点击后是否隐藏下拉菜单Booleantrue, falsefalse
size下拉菜单的大小String
事件名说明回调参数
update:modelValue下拉菜单显示状态改变时触发下拉菜单的显示状态(Boolean)
toggle下拉菜单显示状态改变时触发下拉菜单的显示状态(Boolean)
插槽名说明作用域插槽内容
default触发下拉菜单的元素
dropdown下拉菜单的内容
属性名说明类型可选值默认值
divided是否显示分隔线Booleantrue, falsefalse
disabled是否禁用该项Booleantrue, falsefalse
icon项前的图标名称String
content下拉菜单项的内容String
size下拉菜单项的大小String
center内容是否居中Booleantrue, falsefalse
hideAfterClick点击后是否隐藏下拉菜单Booleantrue, falsefalse
事件名说明回调参数
click点击下拉菜单项时触发
插槽名说明作用域插槽内容
default下拉菜单项的内容,如果提供了 `content` 属性,则此插槽将被忽略

Released under the MIT License.