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

本文完。

相关推荐
没想好d4 分钟前
通用管理后台组件库-10-表单组件
前端
恋猫de小郭9 分钟前
你用的 Claude 可能是虚假 Claude ,论文数据告诉你,Shadow API 中的欺骗性模型声明
前端·人工智能·ai编程
_Eleven1 小时前
Pinia vs Vuex 深度解析与完整实战指南
前端·javascript·vue.js
cipher1 小时前
HAPI + 设备指纹认证:打造更安全的远程编程体验
前端·后端·ai编程
技术狂小子1 小时前
# 一个 Binder 通信中的多线程同步问题
javascript·vue.js
WeNTaO1 小时前
ACE Engine FrameNode 节点
前端
郑鱼咚1 小时前
现在的AI热潮,恰恰证明了这个世界就是个草台班子
前端·人工智能·程序员
Striver_1 小时前
elpis总结——基于koa的elpis-core
前端
进击的尘埃1 小时前
Service Worker + stale-while-revalidate:让页面"假装"秒开的那些事
javascript
阿慧勇闯大前端2 小时前
在AI时代,再去了解react19新特性还有用吗? 最近总有朋友问我:“现在AI写代码这么厉害了,我写个需求丢给ChatGPT,几秒钟就生成一堆组件,还学新特
前端·react.js