课程章节介绍
同学们,今天咱们来聊聊一个在实际开发中经常会遇到的问题:到底什么时候需要创建自定义的属性类型,什么时候又需要自定义属性的编辑器。
你可能会觉得有点绕,别着急,我们把它拆成两个独立的问题来看,就清楚了。
第一个问题,是关于,数据验证,的。也就是说,我们要确定这个属性应该接受什么样的值。在Salesforce里,已经有了一些标准的类型,比如日期类型、整数类型、文本类型等等。这些类型自带验证,能直接满足最常见的场景。但是,如果你需要做的验证比较特殊,比如要同时检查好几个字段的值,或者有一些独一无二的约束条件,那光靠标准类型就不够了。这个时候,你就需要用到自定义的LightningTypeBundle,通过在schema.json里定义验证规则来满足你的需求。
第二个问题,是关于,用户体验,的,也就是属性编辑器长什么样。就算类型确定了,编辑器也可能不一样。比如,日期类型默认给你一个日期选择器,可能就直接用了;但万一你觉得按钮组选择对齐方式更直观,或者想把属性按分组收进一个盒子里让界面更整洁,那就得自定义编辑器了。所以,用户体验的需求决定了你是用默认的编辑器,还是自己设计一个更顺手的。
为了让大家更容易理解,我们来看一个例子,它涵盖了三种常见的情况。
最简单的情况,比如articleDate这个属性,它直接用标准日期类型,编辑器也是默认的日期选择器,什么都不用额外做,省心省力。
稍微复杂一点的是textAlliance,它底层还是字符串类型,但我们不想让用户手动输入,而是提供一个按钮组来点选,那我们就只自定义了编辑器,类型保持标准字符串不变。
最复杂的是layoutProperties,它不仅需要自定义的类型来验证数据,还需要自定义的编辑器,而且编辑器还带有选项卡布局。这属于全都要自己动手的情况。
这些例子的代码,你都可以在Salesforce Experience Cloud的GitHub仓库里找到,一会儿可以去看看实际是怎么写的。
所以记住,要不要自定义属性和编辑器,就分两步想:一是验证要用标准类型还是自定义类型;二是编辑器要不要改得更顺手。这两步独立决定,思路就清晰了。
好了,这一块就讲到这里,大家有问题随时提。
关键词
LWC
Lightning Web Components
Salesforce