0.2.3 • Published 3 years ago

@alita/popup v0.2.3

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

Popup 弹出动画

介绍

弹出层容器,用于展示弹窗、信息提示等内容。

引入

通过以下方式来引入组件

import React from 'react';
import { Popup } from '@alitajs/popup';

代码演示

基础用法

通过 show 控制弹出层是否展示。

const [show, setShow] = useState(false);
return (
  <>
    <Button onClick={() => setShow(true)}>展示弹出层</Button>
    <Popup show={show} onClose={() => setShow(false)}>
      <div style={{ height: '50vh' }}>内容区域</div>
    </Popup>
  </>
);

弹出位置

通过 mode 属性设置弹出位置,默认从下部弹出,可以设置为 popupdropdownsliderLeftsliderRightalert;。

// 从左侧弹出
<Popup show={show} onClose={() => setShow(false)} mode="sliderLeft"></Popup>

关闭图标

设置 closeable 属性后,会在弹出层的合适位置显示关闭图标。 图标显示位置如下:

弹出位置关闭图标位置
popup右上
dropdown右下
sliderLeft右上
alert右上
sliderRight左上
// 示例代码
<Popup closeable show={show} onClose={() => setShow(false)}></Popup>

圆角弹窗

设置 round 属性后,弹窗会根据弹出位置添加不同的圆角样式。

// 示例代码
<Popup round show={show} onClose={() => setShow(false)}></Popup>

自定义内容区域

通过 custom 属性可以自定义内容区域,弹出内容区域进行自定义设置。不再受内置样式影响

<Popup custom show={show} onClose={() => setShow(false)}>
  <div style={{ height: '80vh', backgroundColor: '#f40' }}>内容区域</div>
</Popup>

API

Props

参数说明类型默认值
show是否展示booleanfalse
mode弹出框方向,可以取值:popupdropdownsliderLeftsliderRightalertstringpopup
closeOnClickOverlay是否在点击遮罩层后关闭视图booleantrue
zIndex层级number1
contentSize容器区域的尺寸string、number80%
closeable是否显示关闭图标booleanfalse
round是否显示圆角booleanfalse
custom自定义内容区域booleanfalse
type弹出模式, fullscreen:全屏 relative: 相对当前控件位置弹出stringfullscreen
closeOnClickOutsidetype 为relative时,是否在点击其他区域关闭视图booleantrue
offsettype 为relative时,相对起始位置偏移量number0
scrollElement页面区域滚动节点,一般用于type为 relative 时使用HTMLElementdocument.documentElement
awayRef去除目标元素,只响应目标元素之外的节点, 应用场景一般是在下拉菜单场景下配合 closeOnClickOutside 属性使用,点击页面某个区域不触发响应BasicTarget | BasicTarget[]-

Events

事件名说明回调参数
onClose关闭事件-
onEnter动画即将进入-
onEntered动画已经进入-
onExit动画即将退出-
onExited动画已经退出-