Skip to content

Layer 浮层

所有下拉组件都基于 Layer 浮层组件。该组件作为基础能力,提供浮层定位、样式定制等功能。

基本用法

需要手动控制显示隐藏,通过 visible 控制显示状态。

vue
<script setup lang="ts">
import { ref } from 'vue';
import { ImLayer } from 'im-design';

const visible = ref(false);
const getTriggerContainer = () => document.querySelector('.trigger');
</script>
<template>
  <ImButton class="trigger" @click="visible = !visible">显示</ImButton>
  <ImLayer :visible="visible" :getTriggerContainer="getTriggerContainer">
    <div>显示的内容</div>
    <div>完全自定义</div>
  </ImLayer>
</template>

API

Props

js
props:{
  // 是否显示浮层
  visible: boolean;
  // 层级,默认为空字符串,则自动计算层级
  zIndex?: number | '';
  // 位置,默认为 bottom-left
  placement?: ImPlaceType;
  // 偏移量,默认为 0
  offset?: number; // 偏移量
  // 触发层显示的容器
  getTriggerContainer?: () => HTMLElement | null;
  // 自定义类名
  customClass?: string;
  // 是否显示箭头
  arrow?: boolean;
  // 滚动隐藏
  scrollClose?: boolean;
   // 角色,默认为空字符串
  role?: 'tooltip' | 'dropdown' | '';
}

Events

提供的事件,你只需要监听对应的事件控制显示隐藏即可

js
const emit = defineEmits(['close', 'mouseenter', 'mouseleave']);

基于 MIT 协议发布