SEMI DESIGN 源码学习(五)工具提示

Toast 组件位于 packages/semi-ui/toast/index.tsx

文件默认导出一个 ToastList 类,实际项目中使用的是这个 ToastList 类的静态方法 info, warning, error, success

而他们是由 create 方法创建,这个方法判断页面中是否有 ToastList 组件,没有则新建一个 ToastList,否则直接在现有 ToastList 添加元素。

添加,删除,更新这些操作使用 foundation 进行,这个 foundation 属性是 ToastList 的核心。

在构造器方法看到 foundation 属性是一个接受一个 adapterToastListFoundation 实例,需要看看这个 ToastListFoundation 是啥。

ToastListFoundation 实际上维护的是数组 ToastList.state.list

通过 addupdate 方法添加和更新 toastOpts

最后这个数组的数据用于 ToastListrender 方法渲染每一个 Toast

本文完。

相关推荐
我爱加班、、6 分钟前
new Map()+Array.from()整理elementPlus的级联器数据
linux·前端·javascript
Hx_Ma1612 分钟前
Map集合的5种遍历方式
java·前端·javascript
css趣多多14 分钟前
render函数
前端·javascript·vue.js
web打印社区20 分钟前
前端开发实现PDF打印需求:从基础方案到专业解决方案
前端·vue.js·react.js·electron·pdf
时光追逐者20 分钟前
使用 MWGA 帮助 7 万行 Winforms 程序快速迁移到 WEB 前端
前端·c#·.net
搬砖的阿wei31 分钟前
CSS常用选择器总结
前端·css
2601_949833391 小时前
flutter_for_openharmony口腔护理app实战+意见反馈实现
android·javascript·flutter
摘星编程1 小时前
OpenHarmony环境下React Native:自定义useFieldArray字段数组
react native·react.js·harmonyos
Trae1ounG1 小时前
Vue Iframe
前端·javascript·vue.js
阿部多瑞 ABU1 小时前
`tredomb`:一个面向「思想临界质量」初始化的 Python 工具
前端·python·ai写作