课程章节介绍
同学们,今天我们来聊聊LWC里和CRM Analytics仪表板相关的一些上下文属性和配置。这让你的组件能在不同的地方智能地获取数据,显示合适的界面。
首先,如果你要开发一个仪表板组件,必须把目标类型设为Analytics__Dashboard。这样才能和仪表板框架对接。还有一个可选参数叫hasStep,设成true,组件就能从查询步骤里拿到绑定的数据,跟仪表板的查询结果联动。
接着,我们有两种特殊的属性类型:测量和维度。测量(measure)是数值型的,比如销售额;维度(dimension)是分类的,比如地区。通过这些属性,仪表板编辑器就能选择查询结果里的列,直接映射给组件,非常方便。
然后看记录上下文。在 LWC 里,我们经常用 @api recordId 来接收当前记录的 ID。在 Lightning 体验里的标准记录页面上,这个值会自动填好,是一个18位的字符串。但如果你的组件放在体验云、也就是Experience Builder里,recordId 不会自动来,你得手动配置成 {!recordId} 表达式,它才会帮你取到。
对象上下文也类似,用 @api objectApiName 来感知当前正在操作哪个对象。在Flex页面里它会自动设置,但在体验构建器中,你也要手动指定成 {!objectApiName} 表达式才行。
还有组件宽度的问题。在不同页面区域里,组件可用宽度不同。用 @api flexipageRegionRange 属性,就能收到 SMALL、MEDIUM 或 LARGE 这种枚举值,再配合 CSS 类选择器,就能让组件在窄栏、宽栏里渲染不同的样式。
最后特别提醒一句:recordId 并不是处处自动。它只在显式的记录上下文里自己填充,比如记录详情页。假如你的组件用在全局快速操作、或其他非记录上下文,记着手动传一个 recordId 进去,不然它会是空的。
掌握了这些,你的仪表板组件就能灵活适应各种场景了。好,这节课先到这儿,咱们下回见。
关键词
LWC
Lightning Web Components
Salesforce