Dynamically Populating the Design Attribute Datasource

DEX601 - Unit 4 Surfacing Aura Components

📄 第 285 页 🎬 视频课程

课程章节介绍

今天我们来聊聊如何在Salesforce中动态填充设计属性数据源。这个功能特别有用,尤其是当你想要在Lightning组件中动态地提供一些选项给用户选择时。 首先,我们来看一下代码的基本结构。在Lightning组件的设计文件中,我们定义了一个属性叫做`colors`,并且指定了它的数据源是一个Apex类`MyCustomPickList`。这个类负责提供颜色选项。 ```xml ``` 接下来,我们来看一下这个Apex类`MyCustomPickList`。这个类扩展了`visualeditor.DynamicPickList`,这意味着它可以动态地生成选项列表。 ```apex global class MyCustomPickList extends visualeditor.DynamicPickList { global override visualeditor.DataRow getDefaultValue(){ visualeditor.DataRow defaultValue = new visualeditor.DataRow('red', 'RED'); return defaultValue; } global override visualeditor.DynamicPickListRows getValues() { visualeditor.DataRow value1 = new visualeditor.DataRow('red', 'RED'); visualeditor.DataRow value2 = new visualeditor.DataRow('yellow', 'YELLOW'); visualeditor.DynamicPickListRows myValues = new visualeditor.DynamicPickListRows(); myValues.addRow(value1); myValues.addRow(value2); return myValues; } } ``` 在这个类中,我们有两个主要的方法: 1. `getDefaultValue()`:这个方法返回一个默认的选项。在这里,我们返回了一个红色的选项,显示为“RED”。 2. `getValues()`:这个方法返回所有可用的选项。我们创建了两个选项,一个是红色的“RED”,另一个是黄色的“YELLOW”。然后,我们把这两个选项添加到一个列表中,并返回这个列表。 这样,当你在Lightning组件中使用`colors`属性时,用户就可以从这两个颜色中选择一个了。 总结一下,通过这种方式,你可以动态地为Lightning组件提供选项,而不需要硬编码这些选项。这给了你很大的灵活性,可以根据需要动态地生成选项列表。 希望这个解释对你有帮助!如果你有任何问题,随时问我。