更新Bear List组件
公园护林员对您有最后要求。他们希望在过滤熊名单时在地图上找到熊。您必须创建一个熊图组件并修改熊列表,以便将事件发送到地图。让我们从更新熊列表开始。
- 编辑
bearList.js
文件。 - 在下面添加以下代码
import { NavigationMixin } from 'lightning/navigation';
:首次导入从Lightning Messaging Service(LMS)带来实用程序 。此服务使您可以通过Lightning消息通道跨Lightning页面中的兄弟组件发布消息。
第二个导入是从GitHub检索的基础项目中包含的Lightning消息通道。 - 替换这两行…
…具有以下代码:
代码重点:
- 我们检索闪电消息上下文并将其存储在
messageContext
属性中。 - 我们使用有线功能捕获传入的熊名单数据,并
BearListUpdate__c
使用熊记录列表触发自定义Ligthning消息。 - 我们将
searchTerm
动态参数传递给有线searchBears
适配器,以便每次searchTerm
更改时loadBears
都会重新执行,并使用新的搜索结果触发一条新消息。 - 我们使用
publish
从LMS导入的功能来触发BearListUpdate__c
带有清单的Ligthning消息。
- 我们检索闪电消息上下文并将其存储在
创建Bear Map组件
- 在VS Code中,右键单击lwc文件夹,然后单击SFDX:Create Lightning Web Component。
- 命名组件
bearMap
。 - 编辑
bearMap.js-meta.xml
文件,并替换<isExposed>false</isExposed>
为这些行。这使您的组件可以放置在任何类型的页面上。
- 将以下内容替换为
bearMap.html
:代码重点:
- 我们显示一个包含地图的卡组件。
- 该地图显示
mapMarkers
数组中的项目。
- 将以下内容替换为
bearMap.js
:代码重点:
- 我们实现了两个组件生命周期挂钩函数:
connectedCallback
和disconnectedCallback
。组件加载和卸载时会自动调用它们。我们使用这两个功能来订阅和取消订阅我们的自定义BearListUpdate__c
闪电消息。 - 一旦收到
BearListUpdate__c
消息,该handleBearListUpdate
函数就会被调用,并带有当前已过滤的熊记录列表。handleBearListUpdate
构建一个地图标记列表,该列表将传递给该mapMarkers
属性,然后显示在我们的地图组件上。
- 我们实现了两个组件生命周期挂钩函数:
- 将更新的代码部署到组织。右键单击默认文件夹,然后单击SFDX:将源部署到组织。
将Bear Map组件添加到App主页
让我们将新组件添加到应用程序主页。
- 在您的组织中,从App Launcher( )中找到并选择Ursus Park。
- 单击设置( ),然后选择编辑页面。
- 在“自定义组件”下,找到您的bearMap组件并将其拖动到页面的右上角。
- 单击“保存并返回”以返回主页,并在过滤熊名单时检查地图是否会自动更新。
项目总结
这是一个包装。现在,由于您的努力,公园护林员可以轻松追踪熊。
在整个项目中,您已经使用了Lightning Web Components的所有核心概念:数据绑定,表达式,条件渲染,命令式和有线Apex,组件组成以及组件间事件。
通过Lightning Web Components构建自己的灵活应用程序,从而充分利用这些知识。祝您编码愉快!