Before & After: Custom Lightning Type UI

DEX801 - 创建 Actions

📄 第 237 页 🎬 视频课程

课程章节介绍

同学你好,今天这一页我们讲的是定制Agentforce界面时的“戏剧性转变”。你来感受一下这个对比,就能明白为什么我们要花时间学这些模式。 想象一下,如果我们不做任何定制,Agentforce默认显示出来的内容,比如一个航班查询结果,是什么样的?它可能是一大段原始的JSON,密密麻麻的代码,用户根本看不懂,也操作不了。比如,航班信息、折扣、价格这些都堆在一起,没有重点。而输入那边的筛选条件呢,默认也是完全隐藏的,用户根本不知道能怎么查。 但是一旦我们用今天讲的方法定制之后,整个体验就完全不一样了。输出的航班结果会变成一张张漂亮的卡片——有清晰的标签,比如“出发”、“到达”,折扣会用一个醒目的折扣标签展示出来,价格用粗体突出,甚至还有一个小时间轴,直观显示出发和到达的时间流动。用户看一眼就知道这趟航班划不划算。输入侧也不再空白,而是出现一个规整的表格,里面标好了“价格”和“折扣百分比”这样的输入框,框上还有合适的约束,比如只能填数字、范围限制等。这就是我们说的“戏剧性转变”。 好,为了让这样的转变发生,你得记住背后几个关键的模式。我把它们串起来讲,帮助你记忆。 第一,关于Schema.json文件。我们要引用Apex里定义的类型,写法有一个特殊的前缀:`@apexClassType/c__ClassName`,这里的`ClassName`就是你Apex里那个类的名字。这样Agentforce就知道你的数据长什么样。 第二,Renderer.json文件。这是控制怎么“画”出界面的。记住使用`componentOverrides`对象,然后在里面用`$`作为根重写键。`$`代表根级别,表示你要替换掉整个默认的渲染组件,换成你自己写的那个。你的自定义LWC组件就是挂在这里的。 第三,Editor.json文件。它遵循跟Renderer类似的输入模式,也是用`componentOverrides`和`$`这个根键,只不过它是控制输入表单的展示。所以当你想自定义输入的表格时,也是遵循这个模式。 第四,最重要的一个易错点——LWC组件的meta文件。你一定要在`target`里正确声明。如果你自定义的是出口组件(就是显示结果的组件),Target要用`lightning__AgentforceExit`;如果是入口组件(用来输入的),要用`lightning__AgentforceInvestment`。而且必须对应好`sourceType`和`targetType`,让它们匹配才能绑定成功。很多同学在这里会搞混,导致组件不生效,一定要细心。 简单总结一下,想让你的Agentforce“换装”成功,就记住:Schema里用`@apexClassType/`引用类型;Renderer和Editor用`componentOverrides`加`$`根键去替换;LWC meta里认准AgentforceExit和AgentforceInvestment这两个目标,别写错也别混用。 这样你就能把原本生硬原始的数据,变成用户一眼就爱上的交互卡片了。接下来我们动手试试看,你准备好了吗?

关键词

Agentforce Salesforce