Build Custom UI — Imperative createRecord

DEX475 - Work with Salesforce Data

📄 第 280 页 🎬 视频课程

课程章节介绍

同学们,我们来看这一段内容。当你在用基本组件感觉有点不够灵活的时候,咱们就可以改用命令式调用,它能让你完全控制界面和数据怎么走。 在 `lightning/uiRecordApi` 这个模块里,有一个 `createRecord` 函数。它需要你传一个记录输入对象,这个对象里有两个东西:一个是 `apiName`,就是你要创建哪个对象的 API 名称,比如 `Account`;另一个是 `fields`,它是一个对象,键就是字段的 API 名字,值就是你要填进去的值。调用这个函数后,它会返回一个 Promise,当创建成功时,这个 Promise 就会解析出那个新记录的 ID。 那咱们一般会这样用:先拼好 `recordInput` 这个对象,然后用 `await createRecord(recordInput)` 去调用它。成功之后呢,我们通常会用 toast 通知给用户一个友好的提示,比如“记录创建成功”。为了安全,整个操作要包在 `try/catch` 里,这样万一出了错,咱们就能抓住错误并处理。 `updateRecord` 和 `deleteRecord` 的用法也差不多,都是一样的模式:拼好输入,等待结果,toast 提示成功,`catch` 处理错误。 这里要特别注意的是,每一个命令操作都是一个独立的事务。也就是说,如果你想要在一个事务里一次性处理多条记录,比如创建一个订单同时创建三条订单行项目,那这些命令式操作是没法放在同一个事务里的,你必须得写 Apex 来保证数据一致性。 最后,如果你们想参考完整代码,可以去看 GitHub 上的 `lwc-recipes` 仓库,里面有一个写得很清楚的示例,它通过一个叫 `reduceErrors` 的工具函数,演示了怎么从错误里提取有用的信息并显示给用户。这样错误处理就特别清晰。 好,这段内容就讲到这里。记住这种命令式创建、更新、删除记录的模式,以后你会经常用到。

关键词

LWC Lightning Web Components Salesforce