当前位置: 首页 > Web前端 > HTML5

关于SAPUI5ODataModel.createEntry

时间:2023-04-05 19:02:44 HTML5

返回的context对象在返回的context中使用createdAPI返回的Promise对象,以便在持久化或重置时得到通知。使用isTransientAPI,您可以确定创建的上下文是瞬态的还是持久的;请注意,对于尚未在客户端创建但已从后端读取的上下文,API会返回undefined。瞬态上下文通常用于绑定表单或弹出窗口,以便最终用户可以在将创建的条目持久化到后端之前查看或修改数据。上下文的数据根据??创建请求的成功响应进行更新。请注意,Transient上下文的路径包含客户端生成的UID作为临时键谓词,例如产品集('id-1641815139894-99')。在应用程序编码中使用此路径时要小心,因为一旦上下文被持久化,它就变得无效;然后上下文根据持久实体的规范URL更改其路径,例如到产品集('4711')。下面的所有实体创建示例都假设模型以批处理模式运行,即使用useBatch=true构建。看一个具体的例子://在Products集合中创建一个条目,将指定的属性和值作为初始数据varoContext=oModel.createEntry("/ProductSet",{properties:{Name:"LaptopX",Description:"NewLaptop",Price:"1000",CurrencyCode:"USD"}});//将表单绑定到新创建的实体的瞬态上下文oForm.setBindingContext(oContext);//提交修改:在后面创建实体endoModel.submitChanges({success:mySuccessHandler,error:myErrorHandler});//处理创建成功或者resettoContext.created().then(function(){/*创建成功*/},function(){/*在持久化之前删除创建的实体*/});//通过重置相应的更改来删除创建的实体oModel.resetChanges([oContext.getPath()],undefined,/*bDeleteCreatedEntities*/true);createEntry方法有一个可选的refreshAfterChange参数,它决定是否在成功创建后端后刷新所有受影响的绑定。该参数用于在创建后更新绑定到新实体的列表,以便显示在绑定的表格控件中。在需要此类更新的情况下,我们建议使用下面描述的ODataListBinding#createAPI而不是ODataModel#createEntry。