关于 SAP UI5 Context.prototype.delete 方法的输入参数 Group ID 的细节

简介: 关于 SAP UI5 Context.prototype.delete 方法的输入参数 Group ID 的细节

在 Jerry 这篇教程 SAP UI5 应用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除功能 里,有个朋友提了个问题:

我们选中列表行项目之后,点击删除按钮,会触发一个 OData 的删除请求:

这个删除请求,通过 onDelete 函数的第 62 行代码,调用 BindingContext 实例的 delete 方法触发。该 delete 方法的输入参数为 $auto, 这个字符串代表什么含义?

老规矩,我们可以通过 Chrome 开发者工具的单步调试来了解这个参数的含义:Group ID.

也可以在官方文档 里找到 delete 方法的参数定义:

这个参数代表删除请求的 Group ID,$auto 是默认值。

在 Context.js 的 delete 实现里,会调用 OData model 实例的 checkGroupId 方法,对该传进来的值进行一个校验:

group id 是 SAP UI5 框架用来标识和管理 OData Batch Request (批处理请求)的字段之一,参看文档

group id 允许的值有 $auto, $auto.* 和 $direct 几种情况。$auto 的含义就是默认的行为,即将通过 OData Model 实例调用 API 触发的请求,以批处理的请求模式发送给 OData 服务器。$direct 则代表不使用批处理模式发送请求。


关于什么是 OData 请求的批处理发送模式,Jerry 在我这篇文章里已经详细介绍过:


SAP UI5 应用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深入介绍。


Context 会把 delete 操作 delegate 到 Binding 实例的 _delete 方法去执行。

在绝大部分情况下,我们调用 BindingContext 的 delete 方法时,传入默认的 group id 即 $auto 即可。


这也是为什么 SAP 绝大多数的帮助文档里,给出的删除功能的实现示例代码里,都采用该默认值的原因:

当然我们也可以在应用程序里自定义 group id,具体例子参考笔者这篇文章:

SAP UI5 OData V4 模型的构造方式

相关文章
|
5月前
|
人工智能 搜索推荐 Serverless
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
使用金庸的著作,来测试阿里通义千问最新开放的长文档处理功能
|
5月前
|
算法 API C++
【Qt UI】QT 窗口/控件置顶方法详解
【Qt UI】QT 窗口/控件置顶方法详解
411 0
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
4月前
|
存储 开发框架 JavaScript
深入探讨Flutter中动态UI构建的原理、方法以及数据驱动视图的实现技巧
【6月更文挑战第11天】Flutter是高效的跨平台移动开发框架,以其热重载、高性能渲染和丰富组件库著称。本文探讨了Flutter中动态UI构建原理与数据驱动视图的实现。动态UI基于Widget树模型,状态变化触发UI更新。状态管理是关键,Flutter提供StatefulWidget、Provider、Redux等方式。使用ListView等可滚动组件和StreamBuilder等流式组件实现数据驱动视图的自动更新。响应式布局确保UI在不同设备上的适应性。Flutter为开发者构建动态、用户友好的界面提供了强大支持。
85 2
|
5月前
|
存储 安全 测试技术
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
|
2月前
|
前端开发 图形学
Unity精华☀️UI和物体可见性的判断方法
Unity精华☀️UI和物体可见性的判断方法
|
5月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
3月前
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
544 1
|
5月前
|
存储 供应链 安全
SAP S4HANA 数据归档的实施方法
SAP S4HANA 数据归档的实施方法