DEX470

Unit 3:Work with Lists of Records

课程介绍

今天我们来聊聊如何在Salesforce中使用记录列表来处理记录清单。这个功能非常实用,尤其是在你需要快速查看、编辑或操作多条记录时。 首先,记录列表其实就是你在Salesforce中看到的那些表格,里面列出了你需要的记录。比如,你可能有一个客户列表,里面列出了所有客户的姓名、电话、邮箱等信息。 当你打开一个记录列表时,你可以做很多事情。比如,你可以点击某条记录来查看详细信息,或者直接点击编辑按钮来修改这条记录。如果你需要同时处理多条记录,你可以使用复选框来选择这些记录,然后进行批量操作。比如,你可以一次性删除多条记录,或者将它们分配给某个用户。 另外,你还可以对记录列表进行排序和过滤。比如,你可以按照客户的创建日期来排序,或者只显示那些状态为“活跃”的客户。这样可以帮助你更快地找到你需要的记录。 总的来说,记录列表是一个非常强大的工具,可以帮助你高效地管理和操作你的记录。希望这些信息对你有帮助!如果你有任何问题,随时问我哦。

课程章节

本课程共有 9 个章节

  • 1

    HTML Template Directives

    第 49 页

    让我们来聊聊HTML模板指令在Lightning Web组件中的应用。你可以把这些指令想象成是给你的HTML模板添加一些“魔法”,让它们能够动态地展示内容。我们可以把这些指令大致分成两类:循环和条件渲染。 首先,我们来看看,循环,这一类的指令。想象一下,你有一串珍珠项链,每颗珍珠都代表一个数据项。使用`for:each`指令,你可以告诉你的组件:“嘿,帮我把这串项链上的每颗珍珠都展示出来。”这样,组件就会自动为每个数据项生成相应的HTML元素。如果你还想知道当前展示的是第几颗珍珠,你可以使用`for:index`来获取它的位置。而`key`指令则像是给每颗珍珠贴上一个独特的标签,这样组件在更新时就能更快地找到需要改变的部分,提高性能。 接下来是,条件渲染,的指令。这就像是给你的组件装了一个“开关”。使用`if:true`或`if:false`,你可以告诉组件:“只有当这个条件成立时,才展示这部分内容。”这样,你就可以根据不同的情况,动态地决定哪些内容应该显示给用户。 总结一下,HTML模板指令让你的组件能够灵活地处理数据,并根据条件展示不同的内容。通过循环指令,你可以轻松地遍历数据并生成列表;而条件渲染指令则让你能够控制哪些内容在特定条件下显示。这些指令就像是给你的组件添加了一些智能,让它们能够更好地响应用户的需求和数据的变化。

    查看详情
  • 2

    Iterating over an Array

    第 50 页

    让我们一步一步来理解如何在Salesforce的Lightning Web Components (LWC)中遍历一个数组,特别是当我们有一个熊的列表时。 首先,想象一下我们有一个熊的列表,我们想要在网页上展示每只熊的信息。为了做到这一点,我们需要确保我们的数据已经加载完成,然后才能开始展示。这里,我们会使用`if:true`指令。这个指令的作用是,只有当某个条件为真时,才会渲染后面的内容。在我们的例子中,这个条件就是数据是否已经成功加载。 接下来,我们需要遍历这个熊的列表。在LWC中,我们使用`for:each`指令来实现这一点。这个指令会帮助我们循环访问列表中的每一个元素。在每次循环中,我们可以通过`for:entry`来给当前元素分配一个变量名,这样我们就可以在循环体内使用这个变量来访问当前熊的信息。 为了提高性能和确保每个元素都能被唯一标识,我们还需要为每个元素指定一个`key`。这个`key`是一个唯一的标识符,它帮助LWC框架高效地更新和渲染列表中的元素。 总结一下,我们首先使用`if:true`来确保数据已经加载,然后使用`for:each`来遍历熊的列表,在每次循环中使用`for:entry`来访问当前熊的信息,并且为每个元素指定一个`key`来优化性能。这样,我们就可以在网页上正确地展示每只熊的信息了。

    查看详情
  • 3

    Exposing an Apex Method to a Lightning Web Component

    第 51 页

    让我们来聊聊如何将Apex方法暴露给Lightning Web组件。首先,想象一下,你有一个非常强大的工具,这个工具可以帮助你从Salesforce的后端获取数据或者执行一些复杂的操作。这个工具就是Apex方法。但是,为了让你的Lightning Web组件能够使用这个工具,我们需要做一些设置。 首先,我们需要确保这个Apex方法可以被Lightning Web组件调用。为此,我们需要给这个方法加上一个特殊的标签,叫做`@AuraEnabled`。这个标签就像是给方法贴上一个“我可以被调用”的标签,告诉Salesforce:“嘿,这个方法可以被前端组件使用哦!” 接下来,这个方法必须是“公共的”或者“全局的”。这意味着它不仅仅是在它所在的类内部可用,而是可以被其他类或者组件调用。你可以把它想象成一个公共图书馆,任何人都可以进来借书。 此外,这个方法还必须是“静态的”。静态方法意味着你不需要创建一个类的实例就可以调用它。这就像是有一个自助服务机,你不需要找服务员,直接就可以使用它。 现在,如果我们想让这个方法更高效,我们还可以给它加上一个缓存的功能。通过设置`@AuraEnabled(cacheable=true)`,我们可以让这个方法的结果被缓存起来。这样,如果多次调用这个方法,Salesforce就不需要每次都去后端重新获取数据,而是可以直接使用缓存的数据,这样就大大提高了性能。 但是,这里有一个重要的注意事项:如果这个方法被标记为可缓存的,那么它就不能修改任何数据。也就是说,它只能用来获取数据,不能用来改变数据。这就像是你可以从图书馆借书,但是你不能在书上乱涂乱画。 最后,为了确保这个方法可以通过`@wire`服务在Lightning Web组件中使用,我们需要确保它遵循上述的所有规则。 总结一下,要让Apex方法可以被Lightning Web组件调用,我们需要: 1. 使用`@AuraEnabled`注解。 2. 确保方法是公共的或全局的。 3. 保持方法是静态的。 4. 如果需要提高性能,可以设置`cacheable=true`,但记住这样的方法不能修改数据。 这样,你的Lightning Web组件就可以轻松地调用后端的Apex方法,获取或处理数据了。希望这个解释对你有帮助!

    查看详情
  • 4

    Working with a List of Records using Wired Apex

    第 52 页

    让我们来聊聊如何使用Wired Apex来处理记录列表。首先,我们来看一下这段代码的结构。 在这段代码中,我们创建了一个名为`BearList`的Lightning Web组件。这个组件的主要任务是显示一个熊的列表。为了实现这个功能,我们使用了Salesforce的Wired Apex功能。 首先,我们从`@salesforce/apex/BearController.getAllBears`导入了`getAllBears`方法。这个方法是一个Apex控制器方法,它会从数据库中获取所有的熊的记录。 接下来,在`BearList`组件中,我们使用`@Wire`装饰器来调用`getAllBears`方法,并将返回的数据赋值给`bears`属性。这样,我们就可以在组件中直接使用`bears`来访问这些数据了。 ```javascript @Wire(getAllBears) bears; ``` 这行代码的意思是,当组件加载时,`getAllBears`方法会被自动调用,并且返回的数据会被赋值给`bears`属性。这样,我们就不需要手动去调用Apex方法或者处理返回的数据了,一切都由`@Wire`装饰器自动完成。 此外,我们还定义了一个`app资源`对象,里面包含了一个熊的剪影图片的URL。这个图片可以在组件中使用,比如显示在熊的列表旁边。 ```javascript app资源 = { bearSilhouette: ursus资源 + '/img/standing-bear-silhouette.png', }; ``` 总结一下,通过使用Wired Apex,我们大大简化了代码。我们只需要一行代码`@Wire(getAllBears) bears;`,就可以自动获取并处理所有的熊的记录。这样,我们就可以专注于组件的其他部分,比如如何显示这些数据,而不需要担心数据的获取和处理。 希望这个解释能帮助你更好地理解如何使用Wired Apex来处理记录列表。如果你有任何问题,随时问我!

    查看详情
  • 5

    Working with a List of Records using Imperative Apex

    第 53 页

    让我们来聊聊如何使用命令性Apex代码来处理记录列表。这个过程其实挺有意思的,我们可以通过几个步骤来实现。 首先,我们需要导入一个叫做`ursusResources`的适配器。这个适配器的作用是让我们能够访问与我们的应用程序关联的静态资源。通过这些资源,我们可以构建一个`PappResources`对象,这个对象会在模板中公开熊剪影图像的URL。简单来说,就是我们可以通过这些资源来获取熊的图片。 接下来,我们导入另一个适配器,叫做`getAllBears`。这个适配器允许我们与`BearController.getAllBears()`这个Apex方法进行交互。`BearController`类是在项目开始时就已经部署好的代码。这个方法的作用是返回所有熊记录的查询结果。也就是说,我们可以通过这个方法来获取所有关于熊的数据。 然后,我们实现了一个叫做`ConnectedCallback`的函数。这个函数的作用是允许我们在组件加载后执行一些代码。我们利用这个函数来调用`loadBears`函数。`loadBears`函数会调用`getAllBears`适配器,这个适配器会调用我们的Apex代码,并返回一个JavaScript的承诺(Promise)。我们使用这个承诺来保存返回的数据,或者报告错误。 总结一下,我们通过导入适配器、调用Apex方法、实现回调函数,最终获取并处理了熊的记录列表。这种方法被称为命令性Apex,因为它允许我们以编程的方式直接控制数据的获取和处理过程。 希望这个解释能帮助你更好地理解如何使用命令性Apex代码来处理记录列表。如果有任何问题,随时问我哦!

    查看详情
  • 6

    Passing Parameters in Apex Calls

    第 54 页

    让我们来聊聊在Apex调用中如何传递参数,这其实和我们之前用过的$recordId很相似。想象一下,你有一个搜索框,用户在里面输入内容,你希望每次输入的内容变化时,都能实时更新搜索结果。这时候,我们就需要一个反应性的变量,比如$searchTerm。 这个$searchTerm就像是一个小信使,它会把你输入的内容实时传递给Apex控制器。每当你在搜索框里输入新的内容,$searchTerm的值就会变化,然后它就会告诉Apex控制器:“嘿,有新内容了,快给我新的搜索结果!”Apex控制器收到消息后,就会去数据库里查找匹配的数据,然后把结果返回给你。 这里有个小技巧,就是使用$符号来让变量具有反应性。也就是说,一旦$searchTerm的值变了,所有依赖它的地方都会自动更新,比如你的搜索结果列表。 所以,总结一下,$searchTerm就像是一个实时更新的小助手,它会把你的搜索内容传递给Apex控制器,然后控制器会根据这个内容给你最新的数据。这样一来,你的应用就能实时响应用户的输入,提供更加流畅的体验。

    查看详情
  • 7

    Bear List Component

    第 55 页

    同学们,今天我们要来做一个有趣的小项目,叫做“熊名单任务”。这个任务的主要目的是让我们在Salesforce的熊详细信息页面上创建一个新的组件,这个组件叫做“bearTile”。 首先,我们要明白这个“bearTile”组件是做什么的。它主要是用来显示一只熊的信息,但是这里有个小技巧,我们要用静态资源来重新设计它的风格,让它看起来更酷。而且,每只熊都会有一个按钮,点击这个按钮,你就可以直接跳转到这只熊的详细信息页面。 在这个任务中,我们会学到几个重要的知识点: 1. ,组件组成,:就是如何把不同的部分组合在一起,形成一个完整的组件。 2. ,自定义事件,:这是指我们可以自己定义一些事件,比如点击按钮后发生什么。 3. ,加载外部样式表,:这意味着我们可以从外部引入一些设计风格,让我们的组件看起来更专业。 4. ,导航服务,:这是Salesforce提供的一个服务,可以帮助我们在不同的页面之间跳转。 接下来,你们需要访问一个链接(https://sfdc.co/ZnDzL),那里会有详细的步骤指导你们如何完成这个任务。完成每一步后,记得把更改提交到你们的本地存储库。 最后,当你们完成了第四步,也就是创建了子组件后,系统会提示你们“已完成第4步:子组件”。这时候,你们就可以确认任务完成,并且把所有的更改提交到本地存储库了。 好了,这就是今天的任务。希望你们能通过这个练习,更好地理解Salesforce的组件开发和页面导航。加油!

    查看详情
  • 8

    3. Work with a List of Records

    第 56 页

    同学们,今天我们来学习如何在Salesforce中创建一个熊追踪器的应用程序。这个应用程序会使用Lightning Web组件来展示一个熊的名单,并且我们会使用Apex来处理数据。 首先,我们需要创建一个名为“Bear List”的Lightning Web组件。这个组件会显示一个熊的列表。你可以通过Salesforce的开发者控制台或者使用VS Code来创建这个组件。创建好之后,我们需要将这个组件添加到我们的应用程序主页上,这样用户一打开应用就能看到这个熊名单。 接下来,我们会使用有线Apex(Wire Apex)来从Salesforce的后端获取数据。有线Apex是一种在Lightning Web组件中调用Apex方法的方式,它可以让数据自动绑定到组件上,非常方便。 在调用Apex方法时,我们还可以传递参数。比如,如果我们只想显示某种特定类型的熊,我们可以在Apex调用中传递一个类型参数,这样Apex方法就会根据这个参数返回相应的数据。 整个过程大概需要15分钟,完成后,你就会有一个可以运行的熊追踪器应用程序了。这个应用程序不仅能够展示熊的名单,还能根据用户的需求过滤显示特定的熊。 如果你在操作过程中遇到任何问题,可以参考这个链接:https://sfdc.co/bcnc4y,这里有更详细的步骤和代码示例。 好了,这就是我们今天的内容,希望你们能够顺利完成这个熊追踪器的应用程序。如果有任何疑问,随时提问。我们下次课再见!

    查看详情
  • 9

    Fill in the Blanks

    第 57 页

    同学们,今天我们来聊聊如何在Salesforce的Lightning Web Components(LWC)中使用Apex方法来获取数据。我们来看一个简单的例子,这个例子中,我们要从Apex控制器`BearController`中获取所有的熊(Bears)数据。 首先,我们需要在LWC的JavaScript文件中导入必要的模块。我们使用`import`语句来导入`LightningElement`和`Wire`,这两个是LWC的核心模块。然后,我们还需要导入Apex方法`getAllBears`,这个方法是我们之前在Apex控制器中定义的。 ```javascript import { LightningElement, wire } from 'lwc'; import getAllBears from '@salesforce/apex/BearController.getAllBears'; ``` 接下来,我们定义一个类`BearList`,这个类继承自`LightningElement`。在这个类中,我们使用`@wire`装饰器来调用`getAllBears`方法,并将返回的数据绑定到`bears`属性上。 ```javascript export default class BearList extends LightningElement { @wire(getAllBears) bears; } ``` 在这个例子中,`@wire`装饰器会自动处理数据的获取和更新。当`getAllBears`方法返回数据时,`bears`属性会自动更新,我们可以在模板中使用这个属性来显示数据。 关于`getAllBears`方法,我们还可以设置一些额外的选项,比如`cacheable=true`。这个选项告诉Salesforce,这个方法的结果可以被缓存,这样在多次调用时,可以减少对服务器的请求,提高性能。 ```javascript @wire(getAllBears, { cacheable: true }) bears; ``` 总结一下,我们通过`@wire`装饰器来调用Apex方法,并将返回的数据绑定到组件的属性上。这样,我们就可以在LWC中轻松地获取和显示来自Apex控制器的数据了。 希望这个解释对你们有帮助,如果有任何问题,欢迎随时提问!

    查看详情