课程章节介绍
同学们好,今天我们来聊聊 Salesforce Lightning Web Components 里的模块导入模式,主要是通知和吐司这类组件怎么用。以前我们习惯用浏览器自带的 alert、confirm、prompt,但那些会阻塞页面,体验不太好。现在 LWC 用模块导入的方式,比如你想弹个警告框、确认框或者提示框,就导入 lightning/alert、lightning/confirm、lightning/prompt 这些模块,然后调用它们的 .open() 方法,传入一个配置对象就行了。最关键的是,这些方法是非阻塞的,也就是说代码不会卡在那等用户点确定,而是返回一个 Promise,你可以用 async/await 等到模式关掉后再拿到用户的反馈,这样处理异步逻辑更优雅。
再说吐司通知,强烈建议大家用 lightning/toast 这个模块。它直接导入,用起来很方便,而且能在所有环境跑,包括 Lightning Web Runtime(LWR)站点。相比之下,老的 lightning/platformShowToastEvent 是基于事件的,LWR 根本不支持,所以新项目就直接用 lightning/toast 吧。
最后有个约束要记住:在扩展模式这块,官方只允许扩展两个基础组件。一个是 lightning/modal,用来创建自定义的模态框,带 header、body、footer 这些子组件;另一个是 lightning/datatable,用来开发自定义列的数据类型。除了这两个,不允许扩展任何其他基本组件类,否则会出问题。
好了,这部分就这么简单,记住三点:用模块导入替代老式弹窗,吐司用 lightning/toast,扩展只认 modal 和 datatable。接下来我们做个小练习巩固一下。
关键词
LWC
Lightning Web Components
Salesforce