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

本文完。

相关推荐
小则又沐风a14 分钟前
库的原理:目标文件,ELF格式,程序加载
java·linux·前端
程序员爱钓鱼21 分钟前
Rust if let 与 while let 详解:简化模式匹配
前端·后端·rust
To_OC26 分钟前
LC 79 单词搜索:都说这是回溯入门题,我却连错三回
javascript·算法·leetcode
胡萝卜术34 分钟前
从暴力到滑动窗口的终极形态:力扣3「无重复字符的最长子串」的优化进化之路
前端·javascript·面试
钛态9 小时前
前端安全防线:CSRF 攻击链路与双重 Token 校验的工程实现
前端·vue·react·web
张拭心10 小时前
技术管理笔记:让我“燃尽”的一天
前端
不好听61311 小时前
BFF 架构实战:从前端直调 API 到加入中间层
前端·架构
不好听61311 小时前
前端跨域完全指南:从为什么报错到三种解决方案
前端
三84411 小时前
路由策略/控制 配置双点双向路由重发布
服务器·前端·javascript
Qimooidea12 小时前
祁木 CAD Translator 工程图纸出海实战指南
服务器·前端·安全