Skip to content

Dropdown 下拉菜单

页面上的操作命令过多时,用此组件可以收纳操作元素。

基本用法

默认下拉菜单,鼠标移入则显示下拉菜单。

vue
<template>
  <ImDropdown>
    <ImButton>鼠标移入试试</ImButton>
    <template #content>
      <ImList>
        <ImListItem :value="item" v-for="item in list">{{ item }}</ImListItem>
      </ImList>
    </template>
  </ImDropdown>
</template>

<script setup>
import { ref } from 'vue';

const selected = ref('1');
const list = ['三国演义', '水浒传', '西游记', '红楼梦'];
</script>

触发方式

通过设置 trigger 属性来定义触发下拉菜单的行为,默认为 hover

出现位置

通过设置 placement 属性来设置下拉菜单出现的位置。默认为 bottom-left


支持选中

下拉菜单支持选择模式,只需要设置 v-model 和对应的 value 即可。

vue
<template>
  <ImDropdown>
    <ImButton width="120px">支持选择 {{ selected }}</ImButton>
    <template #content>
      <ImList v-model="selected">
        <ImListItem :value="String(item)" v-for="item in 3"
          >Menu Item Index {{ item }}</ImListItem
        >
      </ImList>
    </template>
  </ImDropdown>
</template>
<script setup>
import { ref } from 'vue';

const selected = ref('1');
</script>

箭头

通过设置 arrow 属性来控制是否显示下拉菜单的箭头。默认为 true。

vue
<template>
  <ImDropdown arrow style="margin-right:8px;">
    <ImButton color="primary">有箭头</ImButton>
    <template #content>
      <ImList>
        <ImListItem :value="item" v-for="item in list">{{ item }}</ImListItem>
      </ImList>
    </template>
  </ImDropdown>

  <ImDropdown :arrow="false">
    <ImButton color="primary">无箭头</ImButton>
    <template #content>
      <ImList>
        <ImListItem :value="item" v-for="item in list">{{ item }}</ImListItem>
      </ImList>
    </template>
  </ImDropdown>
</template>

滚动关闭

设置 scrollClose 属性为 true,即可实现

vue
<template>
  <ImDropdown trigger="click" scrollClose>
    <ImButton color="primary">试试吧</ImButton>
    <template #content>
      <ImList>
        <ImListItem :value="item" v-for="item in list">{{ item }}</ImListItem>
      </ImList>
    </template>
  </ImDropdown>
</template>

API

属性说明
placement下拉菜单出现的位置
arrow是否显示下拉菜单的箭头,默认为 true。
scrollClose是否在滚动时关闭下拉菜单,默认为 false。
trigger触发下拉菜单的方式,可选值为 clickhover。默认为 hover
v-model绑定值,用于支持选择模式。
zIndex显示层级
offset偏移量

基于 MIT 协议发布