Taro React组件开发(1) —— Overlay 遮罩层【渐入渐出动画遮罩层】

本文介绍了如何使用Taro和React.js开发一个带有渐入渐出动画效果的遮罩层组件。从需求分析、常规遮罩层实现到渐入渐出效果的添加,详细讲解了代码逻辑、HTML布局、JS关闭函数和SCSS样式实现,最后提供了完整代码示例。关键在于opacity值控制和动画时间差的处理,以及阻止事件冒泡以确保组件正常工作。
摘要由CSDN通过智能技术生成

1. 遮罩层组件需求分析

  1. 常规的遮罩层,就是使用变量判断显示和隐藏;
  2. 渐入渐出动画遮罩层需要再原有遮罩层的基础上添加渐入渐出动画效果;
  3. 渐入渐出的本质就是对 opacity 的值的控制。

2. 常规遮罩层实现

2.1 代码逻辑分析
  1. 传入组件的主要参数:isOpened控制是否显示、zIndex遮罩层的层级、opacity遮罩层的透明度、position内容的显示位置;
  2. 遮罩层布局实现,第一层为遮罩层的容器、第二层为遮罩层背景显示层、第三层是遮罩层中内容的显示位置;
  3. 注意:必须在第一层和第三层添加组织冒泡事件onClick={e => {e.stopPropagation();return;}};【防止第二层点和内容的点击事件冒泡执行,导致遮罩层的异常!】
  4. 第二层绑定执行点击遮罩层,关闭遮罩层事件onHide
2.2 代码实现
2.2.1 HTML 布局实现
render () { 
    let {
      zIndex,
      opacity,
      position = "center",
      isOpened,
      children,
    } = this.props;
    let { animShow } = this.state;
    return <React.Fragment>
      {
        isOpened ?
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rattenking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值