Taro React组件使用(1) —— Overlay 遮罩层【渐入渐出动画遮罩层】
2023-06-13 09:14:30 时间
Overlay 遮罩层
提供一个简单的 Overlay 遮罩层,在页面上的层级为 1026;
1. 使用指南
在 Taro 文件中引入组件,将组件放入src下的components文件夹中
import RuiOverlay from "../../components/RuiOverlay/RuiOverlay";
2. 基础用法
2.1 组件使用
{/* 基本案例 */}
<RuiOverlay isOpened={isShowBase}
onClose={() => { this.setState({ isShowBase: false }) }} />
2.2 显示遮罩层
<View className="rui-flex-ac rui-list-item"
onClick={() => { this.setState({isShowBase: true}) }}>
<Text className="rui-fs30 rui-fg">基本案例</Text>
<Text className="rui-icon rui-icon-arrow-right rui-fa rui-fs30"></Text>
</View>
3. 嵌入内容居中
3.1 组件使用
{/* 嵌入内容居中 */}
<RuiOverlay isOpened={isShowContent}
onClose={() => { this.setState({isShowContent: false}) }}>
<View className="rui-flex-cc"
style={`background:#fff;width:100px;height:100px;`}>123456</View>
</RuiOverlay>
3.2 显示遮罩层
<View className="rui-flex-ac rui-list-item"
onClick={() => { this.setState({isShowContent: true}) }}>
<Text className="rui-fs30 rui-fg">嵌入内容居中</Text>
<Text className="rui-icon rui-icon-arrow-right rui-fa rui-fs30"></Text>
</View>
4. 嵌入内容底部
4.1 组件使用
{/* 嵌入内容底部 */}
<RuiOverlay isOpened={isShowBottom}
position="bottom"
onClose={() => { this.setState({isShowBottom: false}) }}>
<View className="rui-flex-cc"
style={`background:#fff;width:100%;height:50vh;`}>123456</View>
</RuiOverlay>
4.2 显示遮罩层
<View className="rui-flex-ac rui-list-item"
onClick={() => { this.setState({isShowBottom: true}) }}>
<Text className="rui-fs30 rui-fg">嵌入内容底部</Text>
<Text className="rui-icon rui-icon-arrow-right rui-fa rui-fs30"></Text>
</View>
5. 设置透明度
5.1 组件使用
{/* 设置透明度 */}
<RuiOverlay isOpened={isShowOpacity}
onClose={() => { this.setState({isShowOpacity: false}) }}
opacity="0.5" />
5.2 显示遮罩层
<View className="rui-flex-ac rui-list-item"
onClick={() => { this.setState({isShowOpacity: true}) }}>
<Text className="rui-fs30 rui-fg">设置透明度</Text>
<Text className="rui-icon rui-icon-arrow-right rui-fa rui-fs30"></Text>
</View>
6. 设置动画时间
6.1 组件使用
{/* 设置动画时间 */}
<RuiOverlay isOpened={isShowDuration}
duration={1000}
onClose={() => { this.setState({isShowDuration: false}) }}/>
6.2 显示遮罩层
<View className="rui-flex-ac rui-list-item"
onClick={() => { this.setState({isShowDuration: true}) }}>
<Text className="rui-fs30 rui-fg">设置动画时间</Text>
<Text className="rui-icon rui-icon-arrow-right rui-fa rui-fs30"></Text>
</View>
7. RuiOverlay 参数
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
isOpened | 是否显示遮罩层 | Boolean | - | false |
zIndex | 页面上的层级 | Number | - | 1026 |
opacity | 遮罩层的透明度 | Number | - | 0.4 |
position | 内容所在位置 | String | top、left、right、bottom、center | center |
duration | 渐入渐出动画时长 | Number | - | 300 |
8. RuiOverlay 事件
事件名称 | 说明 | 返回参数 |
---|---|---|
onClose | 触发关闭时的事件 | - |
相关文章
- iOS动画小知识:定点缩放弹窗(利用锚点anchorPoint进行实现)包含完整demo
- 给 Vue 模态框组件添加过渡和动画效果
- 实现CSS动画(animation)的无限播放和暂停
- (四)处理组件进场和离场动画 <Transition />
- 【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )
- 【Flutter】Hero 动画 ( Hero 动画使用流程 | 创建 Hero 动画核心组件 | 创建源页面 | 创建目的页面 | 页面跳转 )
- 【Flutter】Hero 动画 ( Hero 实现径向动画 | Hero 组件 createRectTween 设置 )
- AE模板-未来数字科技幻灯片图文介绍展示动画 Sci-Fi Digital Slideshow
- Character Animator 2019:实现角色动画的高效制作工具
- 简单的仿Flash文字动画(兼容Mozilla)
- javascript小型动画组件与实现代码
- javascript动画浅析
- 读取XML并绑定至RadioButtonList实现思路及演示动画
- c#模拟平抛运动动画的方法详解
- CSS+jQuery实现的一个放大缩小动画效果