High-Level Build Guide & LightningTypeBundle

DEX475 - Experience Cloud Sites

📄 第 335 页 🎬 视频课程

课程章节介绍

我们来看这一页幻灯片,它讲的是构建序列要遵循的逻辑顺序。其实很简单,就是先从标准类型入手,然后把自定义编辑器加上去,最后再用自定义编辑器去处理那些更复杂的类型。 这里要记住,对于LightningTypeBundle这种捆绑包,我们只能用它来做基于对象的类型,基于Apex的捆绑包是不支持的。而且,整个结构的根必须是一个叫做 `lightning__ObjectType` 的类型。在这个根下面,只能嵌套那九种被Salesforce明确支持的Lightning类型,别的不行。另外,自定义类型和 `datateTimeStringType` 都不能再做嵌套,它们是“叶子”了。 接下来,`schema.json` 这个文件是用来定义数据的形状,以及怎么校验这些数据。简单说,就是描述这个类型的数据长什么样。 而`editor.json` 呢,它放在 `experienceBuilder/` 这个子文件夹里面,主要负责两件关键的事。第一件,用 `componentOverrides` 这个部分,把属性编辑器换成我们自定义的组件,比如如果你想让 borderStyle 这个属性的编辑器,变成一个你自己做的收件箱样式,就在这里配置。第二件,通过 `layout` 来定义属性的视觉组织方式。通常我们会用标准定义,像 `TabSetLayout`,它可以把属性分成不同的选项卡,比如“边框”选项卡和“尺寸”选项卡。在这每个选项卡里面,又会用属性布局子项,去引用 schema 里面对应的子属性,这样编辑界面就组织得清清楚楚。 最后一个小点:当我们在 js-meta.html 里引用属性的时候,如果在属性上设置了 `label` 标签,它会直接覆盖掉在 `schema.json` 里面写的 `title`。举个例子,如果schema里面标题是“布局属性”,但你在标签里写了“布局”,界面上显示出来的就是“布局”。所以这个优先级要记住。 好,这一页的重点就是这些,你掌握了吗?

关键词

LWC Lightning Web Components Salesforce