Skip to content

下拉菜单 Dropdown

用于展示一组操作或选项的弹出菜单,支持 click/hover 触发、禁用选项和多种弹出位置。

基础用法

通过 #content 插槽放置 bp-doption 选项,@select 事件获取选中值。

vue
<template>
  <bp-dropdown @select="handleSelect">
    <bp-button status="gray" type="secondary">下</bp-button>

    <template #content>
      <bp-doption value="1">选项一</bp-doption>
      <bp-doption value="2">选项二</bp-doption>
      <bp-doption value="3">选项三</bp-doption>
      <bp-doption value="4">选项四</bp-doption>
      <bp-doption value="5">选项五</bp-doption>
    </template>
  </bp-dropdown>
</template>

<script setup lang="ts">
const handleSelect = (value: string) => {
  console.log(value);
};
</script>

触发方式与位置

通过 trigger 属性切换触发方式(click / hover),position 设置弹出位置。

vue
<template>
  <bp-space>
    <bp-dropdown trigger="hover" @select="handleSelect">
      <bp-button status="gray" type="secondary">hover 触发</bp-button>

      <template #content>
        <bp-doption value="edit">编辑</bp-doption>
        <bp-doption value="copy">复制</bp-doption>
        <bp-doption value="delete">删除</bp-doption>
      </template>
    </bp-dropdown>

    <bp-dropdown trigger="click" position="bottom-right" style="margin-left: 16px" @select="handleSelect">
      <bp-button status="gray" type="secondary">click 触发 (右对齐)</bp-button>

      <template #content>
        <bp-doption value="1">选项一</bp-doption>
        <bp-doption value="2">选项二</bp-doption>
        <bp-doption value="3" disabled>禁用项</bp-doption>
      </template>
    </bp-dropdown>
  </bp-space>
</template>

<script setup lang="ts">
const handleSelect = (value: string) => {
  console.log(value);
};
</script>
position弹出位置
TriggerPosition
bottom-
trigger触发方式
TriggerType
click-

Doption 属性

value选项值
StringNumber
--
disabled是否禁用
Boolean
--
select选中触发value?: DoptionValue-
open打开下拉---
close关闭下拉---
default触发区域--
content下拉内容--

Doption 插槽

default选项内容--