Skip to content

触发器 Trigger

基础用法

vue
<template>
  <bp-space style="width: 100%;" justify="space-between">
    <bp-trigger position="top">
      <bp-button>Click me</bp-button>
      <template #content>
        <div class="demo">
          <span v-text="'No content.'"></span>
        </div>
      </template>
    </bp-trigger>

    <bp-trigger position="bottom">
      <bp-button>Click me</bp-button>
      <template #content>
        <div class="demo">
          <span v-text="'No content.'"></span>
        </div>
      </template>
    </bp-trigger>
  </bp-space>
</template>

<style scoped>
.demo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 120px;
  height: 100px;
  padding: 10px;
  font-size: 13px;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
</style>
vue
<template>
  <div :style="{ width: '100%', height: '140px', overflowY: 'scroll' }">
    <div :style="{ height: '300px', background: '#fafafa' }">
      <bp-trigger update-at-scroll>
        <bp-button type="plain">Click me</bp-button>
        <template #content>
          <div class="demo">
            <span v-text="'No content.'"></span>
          </div>
        </template>
      </bp-trigger>
    </div>
  </div>
</template>

<style scoped>
.demo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 180px;
  height: 100px;
  padding: 10px;
  font-size: 13px;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
</style>

Trigger 属性

v-model是否显示
Boolean
--
trigger触发方式
TriggerType
click-
position弹出位置
TriggerPosition
bottom-
popup-offset弹出偏移
Number
--
popup-translate弹出平移
Array
[0, 0]-
auto-fit-width是否自适应宽度
Boolean
--
transition过渡动画
String
fade-
click-outside点击外部关闭
Boolean
true-
disabled是否禁用
Boolean
--
hide-trigger是否隐藏触发元素
Boolean
--
update-at-scroll滚动时更新位置
Boolean
--
scroll-to-close滚动时关闭
Boolean
--
auto-fix-position自动修正位置
Boolean
true-
scroll-to-close-time滚动关闭延迟
Number
400-
throttle-time节流时间
Number
20-
open-delay延迟打开(ms)
Number
--
close-delay延迟关闭(ms)
Number
100-
boundary-padding边界留白
Number
8-
show-arrow是否显示箭头
Boolean
--
show-shadow是否显示阴影
Boolean
true-
get-popup-container自定义挂载容器
Function
--

Trigger 事件

update:modelValue显示状态变化visible: boolean-
popupVisible弹出层显示变化visible: boolean-
positionChange位置变化{ position, top, left, width }-

Trigger 插槽

default触发内容--
content弹出内容--