课程章节介绍
好,我们来看这一页幻灯片。它讲的是一个很重要的决策框架:什么时候该自己写自定义的类型和编辑器,什么时候用标准的就行了。
想象你现在在做一个物业表单,里面有几个字段:一个叫 articleDate,是文章日期;一个叫 textAlignment,文本对齐方式;还有一个叫 layoutProperties,布局属性。你会发现,对于这三个字段,我们采用了完全不同的处理方式。
首先,articleDate 是日期类型。标准的 lightning__dateType 已经给你做好了日期选择器,自带日期格式验证,用户选个日期一点问题都没有。那这种情况下,我们就不用自定义,直接用标准的就行,省时省力。
再看 textAlignment,它要求用户选择左对齐、居中还是右对齐。后端只存一个字符串,验证其实很简单,任何字符串都行。但是,标准的组合框编辑器长得就是个下拉框,而产品设计的交互是一组漂亮的按钮,点哪个就选中哪个,视觉上更直观。这里就出现了一个矛盾:验证没问题,但用户体验不匹配。所以,我们只需要自定义一个编辑器,换成按钮组的样子,但类型还是用标准的文本类型,没必要自创一个类型。
最后是 layoutProperties,它更复杂。里面包含好几个必填的子字段,还要用收件箱的布局方式展示,每个子字段有自定义的标签。这些验证需求(多个必填子字段)和 UX 需求(自定义收件箱布局)都超出了标准功能。所以,我们既不能直接用标准类型,也不能只用默认编辑器,必须同时自定义一个类型,再给它配一个自定义编辑器。
这个框架的核心思想就是:不要过度工程化。你只在标准类型无法满足你数据验证的时候,才去创建自定义类型;只有在默认编辑器和你要的用户体验不匹配时,才去写自定义编辑器。平时开发的时候先查一下 Lightning Types Reference 这个参考文档,里面列出了所有标准类型以及它们默认的编辑器,看能不能直接用。
这样分开决策,一个一个字段独立判断,就能用最少的代码,做出健壮又好看的表单。大家在实际项目中,可以按这个思路来,避免什么都从头造轮子。
关键词
LWC
Lightning Web Components
Salesforce