Skip to content

DropDown 下拉菜单

将动作或菜单折叠到下拉菜单中。

基础用法

基础用法

列表0
列表1
列表2
<template>
	<LiDropDown :list="dropdown">
		<LiButton>下拉</LiButton>
	</LiDropDown>
</template>
<script setup lang="ts">
	import { DropdownProp } from "@licht-ui/components";

	const dropdown: DropdownProp["list"] = [];
	for (let i in new Array(3).fill(1).map((_val, index) => index)) {
		dropdown.push({
			id: i.toString(),
			label: "列表" + i,
			data: { id: i },
		});
	}
</script>
<style scope lang="scss"></style>

方向

使用position进行控制,可选值:topbottom(默认)

列表0
列表1
列表2
列表0
列表1
列表2
列表0
列表1
列表2
<template>
	<LiDropDown :list="dropdown">
		<LiButton>下拉</LiButton>
	</LiDropDown>
	<LiDropDown :list="dropdown" position="bottom">
		<LiButton>下拉</LiButton>
	</LiDropDown>
	<LiDropDown :list="dropdown" position="top">
		<LiButton>下拉</LiButton>
	</LiDropDown>
</template>
<script setup lang="ts">
	import { DropdownProp } from "@licht-ui/components";

	const dropdown: DropdownProp["list"] = [];
	for (let i in new Array(3).fill(1).map((_val, index) => index)) {
		dropdown.push({
			id: i.toString(),
			label: "列表" + i,
			data: { id: i },
		});
	}
</script>
<style scope lang="scss"></style>

触发方式

使用trigger进行控制,可选值:clickhover(默认)

列表0
列表1
列表2
列表0
列表1
列表2
<template>
	<LiDropDown :list="dropdown" position="bottom" trigger="click">
		<LiButton>下拉</LiButton>
	</LiDropDown>
	<LiDropDown :list="dropdown" position="top" trigger="click">
		<LiButton>下拉</LiButton>
	</LiDropDown>
</template>
<script setup lang="ts">
	import { DropdownProp } from "@licht-ui/components";

	const dropdown: DropdownProp["list"] = [];
	for (let i in new Array(3).fill(1).map((_val, index) => index)) {
		dropdown.push({
			id: i.toString(),
			label: "列表" + i,
			data: { id: i },
		});
	}
</script>
<style scope lang="scss"></style>

事件

使用command进行拦截,可接收点击项的参数

列表0
列表1
列表2
<template>
	<LiDropDown :list="dropdown" @command="handleCommand">
		<LiButton>下拉</LiButton>
	</LiDropDown>
</template>
<script setup lang="ts">
	import { DropdownDataItem, DropdownProp } from "@licht-ui/components";

	const dropdown: DropdownProp["list"] = [];
	for (let i in new Array(3).fill(1).map((_val, index) => index)) {
		dropdown.push({
			id: i.toString(),
			label: "列表" + i,
			data: { id: i },
		});
	}

	const handleCommand = (index: number, data: DropdownDataItem) => {
		console.log(index, data);
		alert(`点击项目:${index}\n数据:` + JSON.stringify(data));
	};
</script>
<style scope lang="scss"></style>
参数说明类型可选值默认值
position显示位置stringtop/bottombottom
trigger触发方式stringclick/hovertrigger
事件参数说明
commandindex: number ,data:DropDownDataItem可接收点击项的参数

Released under the MIT License.