课程章节介绍
让我们来聊聊如何使用Lightning Data Service(LDS)在Salesforce Lightning组件中获取和显示数据。今天我们要讲的例子是一个简单的组件,它的任务是接受一个记录的ID,并显示与该记录关联的电子邮件地址。
首先,我们需要一个公共属性,叫做`recordId`。这个属性会从父组件传递进来,告诉我们具体要显示哪条记录的信息。
接下来,我们会使用一个叫做`Wire`的装饰器。这个装饰器允许我们连接到Salesforce的数据服务,而不需要写任何Apex代码。我们还会从`lightning/uiRecordApi`模块中导入`getRecord`方法,这个方法可以帮助我们获取记录的数据。
在我们的例子中,我们特别关注电子邮件字段。为了确保我们只获取这个字段,我们会从`lightning/uiRecordApi`模块中导入对电子邮件字段的引用。这样,当我们调用`getRecord`方法时,我们可以明确地告诉它我们只需要电子邮件字段。
这里有一个有趣的点,我们称`recordId`为反应性变量。这意味着如果`recordId`的值发生变化,`getRecord`方法会自动重新获取数据。这就是为什么我们在代码中看到`$recordId`,它表示这个变量是反应性的。
在组件中显示数据时,我们通常会使用一个getter方法。在这个例子中,我们定义了一个叫做`email`的getter。这个方法会返回一个字符串“尚未加载”,直到数据从服务器返回为止。一旦数据到达,我们就可以使用`getFieldValue`或`getFieldDisplayValue`方法来获取并显示电子邮件的值。
最后,老师提到,虽然我们可以直接传入字段名称的字符串(例如`['Contact.Email']`),但最佳实践是导入这些字段的引用。这样做的好处是,它可以在编译时检查这些字段是否真的存在,从而避免运行时错误。
这就是我们今天的内容,希望你们能理解如何使用Lightning Data Service来获取和显示数据。如果有任何问题,随时提问!