Populating App Builder Picklists Dynamically (2 of 2)

DEX602 - Unit 3 Surfacing Lightning Web Components

📄 第 220 页 🎬 视频课程

课程章节介绍

让我们继续深入了解一下如何在Salesforce中动态填充应用程序构建器的挑选列表。今天,我们主要关注的是如何通过Apex类来实现这一功能。 首先,你的Apex类需要扩展`VisualEditor.DynamicPicklist`。这是一个特殊的接口,它允许你在应用程序构建器中动态生成挑选列表的选项。为了实现这一点,你需要实现两个关键的方法:`getDefaultValue()`和`getValues()`。 1. ,getDefaultValue(),: 这个方法用于返回挑选列表的默认值。当用户第一次打开挑选列表时,这个值会被自动选中。这个方法应该返回一个`VisualEditor.DataRow`对象,这个对象代表默认的选项。 2. ,getValues(),: 这个方法用于返回挑选列表中的所有选项。它应该返回一个`VisualEditor.DynamicPickListRows`对象,这个对象包含多个`VisualEditor.DataRow`,每个`DataRow`代表挑选列表中的一个选项。 让我们来看一个简单的例子,假设我们要动态填充一个城市列表: ```apex public class CityPicklist extends VisualEditor.DynamicPicklist { public override VisualEditor.DataRow getDefaultValue() { // 返回默认的城市,比如“New York” return new VisualEditor.DataRow('New York', 'New York'); } public override VisualEditor.DynamicPickListRows getValues() { VisualEditor.DynamicPickListRows cityRows = new VisualEditor.DynamicPickListRows(); // 添加城市选项 cityRows.addRow(new VisualEditor.DataRow('New York', 'New York')); cityRows.addRow(new VisualEditor.DataRow('Los Angeles', 'Los Angeles')); cityRows.addRow(new VisualEditor.DataRow('Chicago', 'Chicago')); // 你可以继续添加更多的城市 return cityRows; } } ``` 在这个例子中,`getDefaultValue()`方法返回了一个代表“New York”的`DataRow`,而`getValues()`方法则创建了一个包含多个城市选项的`DynamicPickListRows`对象。 通过这种方式,你可以轻松地在Salesforce应用程序构建器中动态生成和管理挑选列表的选项。希望这个解释对你有帮助!如果有任何疑问,随时提问。