Skip to content

下拉菜单 xDropdownMenu


在线预览
在线模拟尺寸:

介绍

下拉菜单,标签内只能放置子项目x-dropdown-item

平台兼容

H5andriodIOS小程序UTSUNIAPP-X SDKversion
☑️☑️☑️☑️4.44+1.1.9

文件路径

ts

@/uni_modules/tmx-ui/components/x-dropdown-menu/x-dropdown-menu.uvue

使用

ts

<x-dropdown-menu></x-dropdown-menu>

Props 属性

名称说明类型默认值
position位置,<br>static | fixed<br>静态 | 展开后悬浮在顶部。string"fixed"
offsetTop顶部的偏移量,针对你们自定标题导航时可能需要让出顶部位置。<br>数字字符,prx,px等单位<br>如果position=static此属性失效。string"0"
modelValue当前激活的索引<br>-1表示关闭。提供值时请大于-1,<br>如果不想要变量控制,些值 可不提供。交由内部自行处理。<br>当你想要用变量控制开关时可v-model="索引"来控制关闭和打开。number-1
height菜单栏的高度string"44"
width宽度string"auto"
color背景颜色string"white"
darkColor暗黑时的背景颜色string""
zIndex层级number88
hidnMask对于要把此组件嵌套在fiexd中时,并且position为static时<br>请一定设置为true,否则在web端会出现层级混乱(这是css dom规则所定)<br>为了全平台对齐请嵌套组件时一定注意使用事项.booleanfalse

Events 事件

名称参数说明
change-切换菜单时触发
update:modelValue-等同v-model=""

Slots 插槽

名称说明数据
default默认插槽,只能放置子项目x-dropdown-item-

Ref 方法

名称参数返回值说明

示例文件路径

json

/pages/fankui/dropdown-menu

示例源码

uvue
vue
<template>
	<!-- #ifdef APP -->
	<scroll-view style="flex:1">
	<!-- #endif -->
	<!-- #ifdef MP-WEIXIN -->
	<page-meta :page-style="`background-color:${xThemeConfigBgColor}`">
		<navigation-bar :background-color="xThemeConfigNavBgColor" :front-color="xThemeConfigNavFontColor"></navigation-bar>
	</page-meta>
	<!-- #endif -->

		<x-sheet>
			<x-text font-size="18" class=" text-weight-b mb-8">下拉菜单 dropdownMenu</x-text>
			<x-text color="#999999" >
				提供static和fiexd两种位置方式。内容完全通过插槽自由布局。x-dropdown-menu 中的render="true"后动画会消失
			</x-text>
		</x-sheet>
		<x-dropdown-menu @change="onchange" v-model="activeIndex">
			<x-dropdown-item  title="按销量" key-name="xiaoliang">
				<x-text class="mb-32">因自由度非常高,你可以自由布局最大高度是否滚动内容。</x-text>
				<!-- -1表示关闭 -->
				<x-button @click="activeIndex=-1" :block="true">关闭</x-button>
			</x-dropdown-item>
			<x-dropdown-item :title="menus" key-name="wiff">
				<x-text>自己添加scrollview等实现页脚功能.</x-text>
			</x-dropdown-item>
			<x-dropdown-item title="硬盘容量" key-name="yingpan">
				<x-text>内容层的高度是自动高。不需要额外设置。</x-text>
			</x-dropdown-item>
			<x-dropdown-item title="综合" key-name="zhonghe" :isBtn="true" icon="sort-desc" active-icon="sort-asc">
				<x-text>内容层的高度是自动高。不需要额外设置。</x-text>
			</x-dropdown-item>
		</x-dropdown-menu>


		<x-sheet :margin="['0','24']">
			<x-text font-size="18" class=" text-weight-b ">正文是静态,弹出时,菜单不会置顶在页面顶部。</x-text>
		</x-sheet>

		<x-dropdown-menu position="static">
			<x-dropdown-item title="按距离">
				<x-text>这里由用户自由布局内容,实现逻辑。</x-text>
			</x-dropdown-item>
			<x-dropdown-item title="综合条件">
				<x-text>你还可以实现更多更复杂的功能.</x-text>
			</x-dropdown-item>
			<x-dropdown-item title="所有项目">
				<x-text>完全插槽实现灵活度极高。</x-text>
			</x-dropdown-item>
		</x-dropdown-menu>

	<view style="height:580px"></view>

	<!-- #ifdef APP -->
	</scroll-view>
	<!-- #endif -->
</template>

<script>
	export default {
		data() {
			return {
				activeIndex: -1,
				remove: true,
				menus:"网络类型"
			};
		},
		onLoad() {
		
		},
		methods: {
			onchange(index : number, keyName : string, status : boolean) {
				console.log('当前索引:', index, ';当前项目标识:', keyName, ';当前开关状态:', status)
			}
		},
	}
</script>

<style lang="scss">

</style>
最近更新