模仿Element-ui实现页面滚动消息提示功能
47 浏览量
更新于2024-09-03
收藏 100KB PDF 举报
在本文中,作者探讨了如何仿照Element-ui的风格实现一个简易的$message方法,用于页面顶部的多条消息提示。首先,通过分析Element-ui中的消息提示功能,发现其特点包括支持多条消息同时显示,固定居中定位,并且带有动画效果。因此,设计的核心是利用数组存储消息数据,每个消息都有一个show属性控制其显示与隐藏,top属性控制位置,并通过定时器管理消息的显示逻辑。
1. **思路梳理**
- 模拟element-ui的消息提示样式,采用数组来存储消息对象,包括类型(如success、info等)和内容。
- 使用数组索引控制每条消息的显示和隐藏,通过改变top值实现消息的逐条滑出和隐藏效果。
- 添加过渡动画,提供更平滑的视觉体验。
2. **组件编写**
- 分离功能,创建`MsgBox.vue`和`Msg.vue`两个组件:`MsgBox.vue`负责处理消息数据的收集、添加、重置位置以及清除无用消息,而`Msg.vue`则负责展示实际的消息内容。
- `MsgBox.vue`中的关键方法:
- `addMsg`: 接收消息对象并将其添加到`msgs`数组中,同时设置初始显示状态为true。
- `resetTop`: 清空定时器,根据当前消息的索引动态调整`top`值和显示状态。
- `clear`: 清除所有已隐藏的消息,重置定时器。
3. **代码实现细节**
- 在`ts`部分,通过`msg.show`属性控制消息的显示/隐藏,`msg.top`属性表示消息相对于页面顶部的距离,通过递增`ind`变量来计算新的top值。
- 使用`setTimeout`配合`some()`方法判断所有消息是否都隐藏,只有当所有消息隐藏时才执行清除操作。
通过以上步骤,开发者可以根据需求轻松地在项目中实现一个自定义的消息提示功能,模仿Element-ui的设计风格,同时保持代码简洁易维护。这种方法不仅适用于页面顶部消息提示,也可以根据需要扩展其他类似的提示组件,比如底部通知或侧边栏提醒。
2018-12-06 上传
2020-10-15 上传
2022-07-12 上传
2021-03-09 上传
点击了解资源详情
2021-08-14 上传
2021-05-17 上传
2021-05-19 上传
weixin_38571104
- 粉丝: 3
- 资源: 944
最新资源
- sentry-ssdb-nodestore:Sentry的SSDB NodeStore后端
- 附近JavaScript:适用于JavaScript的ArcGIS API应用程序可查找附近的地点并路由到最近的位置
- aiap-field-guide:每周Aiap课程
- Ambit Components Collection-开源
- Glider Screen-crx插件
- PCB_FDTD.zip_matlab例程_C++_Builder_
- 快速收集视图的自定义蜂窝布局-Swift开发
- js-pwdgen-wannabe
- facebook-sdk:适用于Facebook Graph API的Python SDK
- markdown文档转pdf工具
- lucy:基于键值存储网络的聊天机器人
- Year Clock-crx插件
- goodmobileirisrecognition.rar_matlab例程_matlab_
- matlab人脸检测框脸代码-opencv4nodeJs-4.5.2:适用于Node.js的OpencvBuild
- CTI110:CTI110存储库
- L-one-crx插件