Balloon 气泡提示

何时使用

  • 当用户与被说明对象(文字,图片,输入框等)发生交互行为的 action 开始时, 即刻跟随动作出现一种辅助或帮助的提示信息。
  • 其中 Balloon.Tooltip 是简化版本,主要用于 hover 时显示简单文案。

使用注意

  • 对于trigger是自定义的 React Component 的情况,自定义的 React Component 需要透传 onMouseEnter/onMouseLeave/onClick 事件。

基本用法

最简单的用法。

Loading demo...

APIs

Balloon

参数说明类型默认值
children浮层的内容any-
type样式类型

可选值:
'normal', 'primary'
Enum'normal'
visible弹层当前显示的状态Boolean-
defaultVisible弹层默认显示的状态Booleanfalse
onVisibleChange弹层在显示和隐藏触发的事件

签名:
Function(visible: Boolean, type: String) => void
参数:
visible: {Boolean} 弹层是否隐藏和显示
type: {String} 触发弹层显示或隐藏的来源, closeClick 表示由自带的关闭按钮触发; fromTrigger 表示由trigger的点击触发; docClick 表示由document的点击触发
Functionfunc.noop
alignEdge弹出层对齐方式, 是否为边缘对齐Booleanfalse
closable是否显示关闭按钮Booleantrue
align弹出层位置

可选值:
't'(上)
'r'(右)
'b'(下)
'l'(左)
'tl'(上左)
'tr'(上右)
'bl'(下左)
'br'(下右)
'lt'(左上)
'lb'(左下)
'rt'(右上)
'rb'(右下)
Enum'b'
offset弹层相对于trigger的定位的微调, 接收数组[hoz, ver], 表示弹层在 left / top 上的增量
e.g. [100, 100] 表示往右(RTL 模式下是往左) 、下分布偏移100px
Array[0, 0]
trigger触发元素any<span />
triggerType触发行为
鼠标悬浮, 鼠标点击('hover','click')或者它们组成的数组,如 ['hover', 'click'], 强烈不建议使用'focus',若弹窗内容有复杂交互请使用click
String/Array'hover'
onClose任何visible为false时会触发的事件

签名:
Function() => void
Functionfunc.noop
needAdjust是否进行自动位置调整Booleanfalse
delay弹层在触发以后的延时显示, 单位毫秒 msNumber-
afterClose浮层关闭后触发的事件, 如果有动画,则在动画结束后触发

签名:
Function() => void
Functionfunc.noop
shouldUpdatePosition强制更新定位信息Boolean-
autoFocus弹层出现后是否自动focus到内部第一个元素Booleantrue
safeNode安全节点:对于triggetType为click的浮层,会在点击除了浮层外的其它区域时关闭浮层.safeNode用于添加不触发关闭的节点, 值可以是dom节点的id或者是节点的dom对象Stringundefined
safeId用来指定safeNode节点的id,和safeNode配合使用Stringnull
animation配置动画的播放方式,格式是{in: '', out: ''}, 常用的动画class请查看Animate组件文档Object/Boolean{ in: 'zoomIn', out: 'zoomOut', }
cache弹层的dom节点关闭时是否删除Booleanfalse
popupContainer指定浮层渲染的父节点, 可以为节点id的字符串,也可以返回节点的函数。any-
popupStyle弹层组件style,透传给PopupObject{}
popupClassName弹层组件className,透传给PopupString''
popupProps弹层组件属性,透传给PopupObject{}
followTrigger是否跟随滚动Boolean-
id弹层id, 传入值才会支持无障碍String-

Balloon.Tooltip

参数说明类型默认值
childrentooltip的内容any-
align弹出层位置

可选值:
't'(上)
'r'(右)
'b'(下)
'l'(左)
'tl'(上左)
'tr'(上右)
'bl'(下左)
'br'(下右)
'lt'(左上)
'lb'(左下)
'rt'(右上)
'rb'(右下)
Enum'b'
trigger触发元素any<span />
triggerType触发行为
鼠标悬浮, 鼠标点击('hover', 'click')或者它们组成的数组,如 ['hover', 'click'], 强烈不建议使用'focus',若有复杂交互,推荐使用triggerType为click的Balloon组件
String/Array'hover'
popupStyle弹层组件style,透传给PopupObject-
popupClassName弹层组件className,透传给PopupString-
popupProps弹层组件属性,透传给PopupObject-
pure是否pure renderBoolean-
popupContainer指定浮层渲染的父节点, 可以为节点id的字符串,也可以返回节点的函数。any-
followTrigger是否跟随滚动Boolean-
id弹层id, 传入值才会支持无障碍String-
delay如果需要让 Tooltip 内容可被点击,可以设置这个参数,例如 100Number0

Demo

三种触发方式

Loading demo...

鼠标移入、聚集、点击。

边缘对齐设置

Loading demo...

位置有十二个方向。

从浮层内关闭, 事件回调

Loading demo...

使用 visible ,属性控制浮层显示, 使 balloon 变为受限组件。

close 按钮事件,手动控制 visible

Loading demo...

使用 visible,属性控制浮层显示, 使 balloon 变为受限组件

嵌套浮层问题

Loading demo...

浮层中如果又有浮层,比如在 Balloon 中有 DatePicker 的浮层,需要用 safeNode 解决 datePicker 选择时, balloon 浮层关闭的问题.

tooltip

Loading demo...

简化的 Balloon, 只能设置 align, trigger 和 children, 触发条件是 hover.