Skip to content

Trigger 触发器

用于对元素添加 hover, click, focus 等事件,并且弹出下拉框。

基本用法

触发器的最基础的使用。默认是没有弹出框的样式。设置 tu-trigger 元素属性的 trigger 属性值为 `hover` `click` `focus` 或 `contextMenu` 来配置触发方式。

多层嵌套

弹出层可以嵌套在另一个弹出层内。

跟随鼠标显示弹出框

设置 align-point 属性,可以使弹出层出现在鼠标位置。

点击此区域

滚动容器

通过设置 update-at-scroll 监听容器的滚动。

显示箭头元素

通过 show-arrow 属性,可以展示默认的箭头元素。也可以通过 arrow-class 或 arrow-style 进行定制。

弹窗偏移量

通过 popup-translate 属性,可以设置弹窗在原本位置的基础上进行额外的位置调整。

Trigger API

Trigger Attributes

参数名描述类型默认值
v-model弹出框是否可见Boolean-
default-popup-visible弹出框默认是否可见(非受控模式)Booleanfalse
trigger触发方式Stringhover
position弹出位置Stringbottom
disabled是否禁用Booleanfalse
popup-offset弹出框的偏移量(弹出框距离触发器的偏移距离)Number0
popup-translate弹出框的移动距离TriggerPopupTranslate-
show-arrow弹出框是否显示箭头Booleanfalse
align-point弹出框是否跟随鼠标Booleanfalse
popup-hover-stay是否在移出触发器,并移入弹出框时保持弹出框显示Booleantrue
blur-to-close是否在触发器失去焦点时关闭弹出框Booleantrue
click-to-close是否在点击触发器时关闭弹出框Booleantrue
click-outside-to-close是否在点击外部区域时关闭弹出框Booleantrue
unmount-on-close是否在关闭时卸载弹出框节点Booleantrue
content-class弹出框内容的类名String Array Object-
content-style弹出框内容的样式CSSProperties-
arrow-class弹出框箭头的类名String Array Object-
arrow-style弹出框箭头的样式CSSProperties`-
popup-style弹出框的样式CSSProperties`-
animation-name弹出动画的nameStringfade-in
duration弹出动画的持续时间Number Object-
mouse-enter-delaymouseenter事件延时触发的时间(毫秒)Number100
mouse-leave-delaymouseleave事件延时触发的时间(毫秒)Number100
focus-delayfocus事件延时触发的时间(毫秒)Number0
auto-fit-popup-width是否将弹出框宽度设置为触发器宽度Booleanfalse
auto-fit-popup-min-width是否将弹出框的最小宽度设置为触发器宽度Booleanfalse
auto-fix-position当触发器的尺寸发生变化时,是否重新计算弹出框位置Booleantrue
popup-container弹出框的挂载容器String HTMLElement-
update-at-scroll是否在容器滚动时更新弹出框的位置Booleanfalse
auto-fit-position是否自动调整弹出框位置,以适应窗口大小Booleantrue
render-to-body是否挂载在 body 元素下Booleantrue
prevent-focus是否阻止弹出层中的元素点击时获取焦点Booleanfalse

Trigger Events

事件名描述参数
popup-visible-change弹出框显示状态改变时触发Function
show弹出框显示后(动画结束)触发-
hide弹出框隐藏后(动画结束)触发-

Trigger Slots

参数名描述类型
content弹出框内容-

FAQ

关于弹出框的挂载位置

弹出框默认是挂载到 body 元素上的,如果想要修改挂载元素,可以使用 popup-container 属性进行指定,同时需要注意保证挂载元素的位置可以被准确定位到,一般可以为挂载元素增加 position: relative 样式。

在微前端项目中,需要保证子应用的挂载位置准确,可以将子应用的 body 样式添加 position: relative。