课程章节介绍
好,同学们,我们来聊聊Lightning Web Components里,关于自定义属性类型和编辑器,有几个必须要注意的限制。这些点很关键,不留意的话,部署可能会失败,或者在属性面板里只见一堆报错。
首先,记住一个核心:这些限制只对LWC有效,Aura框架不受影响。而且,在使用这些自定义属性时,你只能在目标配置里用`lightningCommunity__Default`,不能写成`Page_Layout`或者`Theme_Layout`,不然部署上去就直接报错。换句话说,它只服务于社区的默认页面,布局页或主题布局页不支持。
接下来,当你定义的属性类型指向自建的或Lightning自带类型时,你不能在属性上使用“最小值”、“最大值”、“步长”或者“占位文字”这些设置。为什么呢?因为这些约束应该预先定义在类型本身的架构里面,而不是在属性声明时随手加上去。
还有个小细节:如果你希望属性面板里出现屏幕响应图标,光靠自定义编辑器是自动出不来的,得你自己手动添加。也就是你得显式处理一下,它不会凭空出现。
另外,如果你通过元数据API部署了一些不支持的特性,千万要小心——这些特性只认元数据API,如果你通过安装界面去修改,它们可能会凭空消失。所以若用了非标功能,就老老实实一直用元数据API来管理,别混着来。
如果属性面板里你看见了“无效类型”或“无效编辑器”这样的错误,别慌,先打开浏览器控制台看看详细报错,那里会有定位问题的线索。
最后一点是打包时的更新:LightningTypeBundle现在已经取代了老旧的ExperiencePropertyTypeBundle。用新的Bundle,即使将来引用的地方升级,也不会被破坏;不过有个代价,就是它不支持自定义布局,你只能用标准布局去定义它的样子。
好,这些就是自定义属性类型需要特别注意的地方。记住它们,你在LWC开发过程中就能少踩很多坑。大家有什么疑问吗?
关键词
LWC
Lightning Web Components
Salesforce