打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于 SAP UI5 ODataModel.createEntry 返回的 context 对象
userphoto

2022.10.08 四川

关注

在返回的上下文中使用创建的 API 返回的 Promise 对象,以便在持久化或重置时获得通知。使用 isTransient API,您可以确定创建的上下文是 transient 的还是持久的;请注意,对于尚未在客户端创建但已从后端读取的上下文,API 返回 undefined。

Transient 上下文通常用于绑定表单或弹出窗口,以便最终用户可以查看或修改已创建条目的数据,然后再将其持久化到后端。上下文的数据根据创建请求成功的响应进行更新。请注意,Transient 上下文的路径包含客户端生成的 UID 作为临时键谓词,例如产品集('id-1641815139894-99')。在应用程序编码中使用此路径时要小心,因为一旦上下文被持久化,它就会变得无效;然后上下文根据持久实体的规范 URL 更改其路径,例如到产品集('4711')。

下面的所有实体创建示例都假设模型以批处理模式运行,即使用 useBatch = true 构建。

看个具体的例子:

// create an entry in the Products collection with the specified properties and values as initial datavar oContext = oModel.createEntry("/ProductSet", {
    properties : {Name : "Laptop X", Description:"New Laptop", Price:"1000", CurrencyCode : "USD"}});// bind a form against the transient context for the newly created entityoForm.setBindingContext(oContext);// submit the changes: creates entity in the back endoModel.submitChanges({success: mySuccessHandler, error: myErrorHandler});// handle successful creation or resetoContext.created().then(
  function () { /* successful creation */ },
  function () { /* deletion of the created entity before it is persisted */ });// delete the created entity by resetting the corresponding changeoModel.resetChanges([oContext.getPath()], undefined, /*bDeleteCreatedEntities*/true);

createEntry 方法采用可选的 refreshAfterChange 参数,该参数确定在后端创建成功后是否刷新所有受影响的绑定。

此参数用于在创建后更新与新实体的列表绑定,使其显示在绑定的表控件中。

在需要进行此类更新的情况下,我们建议使用下面描述的 ODataListBinding#create API 而不是 ODataModel#createEntry。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JAX-RS
JNDI介绍
从数据和流程的视角,思考服务编排的落地路径
Translator api
H5:画布Canvas基础知识讲解(一)之canvas基础、2D context API、路径
MxNet与numpy 的ndarray区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服