首页 > 其他分享 >什么是 SAP UI5 XML 视图里的 customData

什么是 SAP UI5 XML 视图里的 customData

时间:2023-08-13 16:33:08浏览次数:46  
标签:XML 控件 customData 视图 列表 key 数据

下面是 XML 视图里的代码:

<core:FragmentDefinition xmlns:core="sap.ui.core"
       xmlns="sap.m">
       <Column>
              <Text text="{i18n|sap.suite.ui.generic.template.ListReport|STTA_C_MP_Product>xfld.Rating}" />
              <customData>
                     <core:CustomData key="p13nData"
                            value='\{"columnKey": "Rating", "leadingProperty":"Price", "columnIndex" : "100"}' />
              </customData>
       </Column>
       <Column>
              <Text text="{i18n|sap.suite.ui.generic.template.ListReport|STTA_C_MP_Product>xfld.BreakoutColumn}" />
              <customData>
                     <core:CustomData key="p13nData"
                            value='\{"columnKey": "Test", "columnIndex" : "101"}' />
              </customData>
       </Column>
</core:FragmentDefinition>

在 SAP UI5 中,customData 是一个非常有用的功能,它允许我们在特定的 UI 控件上附加额外的数据。这些数据可以是任何我们需要的数据,例如一些特定的配置,或者一些用于后续处理的关键信息。然而,值得注意的是,这些 customData 并不会直接影响 UI 控件的表现或者行为。

customData 是一个 aggregation(聚合),它包含的是一系列的 sap.ui.core.CustomData 对象。每一个 CustomData 对象都有两个关键属性:keyvaluekey 是唯一的,用于标识这个数据,而 value 则是存储的实际数据。

在 XML 视图中,我们可以这样使用 customData

<Button text="Click me" press="onButtonPress">
  <customData>
    <core:CustomData key="myKey" value="myValue" />
  </customData>
</Button>

在这个例子中,我们在一个按钮上添加了一个 customData。这个 customDatakeymyKeyvaluemyValue。然后在按钮的 press 事件处理函数中,我们可以这样获取这个数据:

onButtonPress: function(oEvent) {
  var oButton = oEvent.getSource();
  var oCustomData = oButton.data("myKey");
  console.log(oCustomData); // 输出 "myValue"
}

在这个函数中,我们首先获取了触发事件的源控件,也就是按钮自己。然后使用 data 方法并传入我们的 key,就可以获取到对应的 value 了。

customData 的一个常见的用途是用于保存一些在运行时会发生变化的数据。例如,在一个列表中,每个列表项可能需要关联一些特定的数据,这些数据在列表生成时是未知的。这个时候,就可以在生成列表项时,将这些数据作为 customData 附加到列表项上。然后在后续的处理中,比如点击列表项时,就可以从列表项上获取这些数据了。

需要注意的是,虽然 customData 非常方便,但也不应该滥用。首先,customData 保存的数据是在客户端的,所以不应该用来保存敏感数据。其次,customData 保存的数据并不会被自动同步到服务端,所以如果需要将数据保存到服务端,还需要自己手动处理。最后,customData 并不能替代 model,它只是一个临时存储数据的地方,如果需要长期存储或者多个控件共享数据,还是应该使用 model。

标签:XML,控件,customData,视图,列表,key,数据
From: https://www.cnblogs.com/sap-jerry/p/17626718.html

相关文章

  • 微信小程序视图容器 swiper
    滑块视图容器。属性类型默认值必填说明最低版本属性类型默认值必填说明最低版本indicator-dotsbooleanfalse否是否显示面板指示点1.0.0indicator-colorcolorrgba(0,0,0,.3)否指示点颜色1.1.0indicator-active-colorcolor#000000否当前选中的指......
  • springmvc学习之com.fasterxml.jackson.core:jackson-databind:pom:2.15.2 failed to
    -错误的原因是我们通过坐标依赖导入的jar包没有完全下载,也就是下载了一半就停了,是个下载类型的文件而不是真正的jar包,出现这种错误的原因典型的就比如我这种情况,正在下载的时候断网了,然后这个网络链接突然中断,此时文件就是一个损坏的半成品,Maven中的代码似乎不能像迅雷那样继续下......
  • mapper.xml 的特殊符号
      从别处看来的,自用 ......
  • java解析xml获取节点的属性
    1、java解析xml中返回的数据???2、java中dom4j解析xml文件怎么获取节点属性3、详解Java解析XML的四种方法4、使用Java自带SAX工具解析XML5、Java解析XML的几种方法java解析xml中返回的数据???JDOM生成和解析XML为减少DOM、SAX的编码量,出现了JDOM优点:20-80原则,极大减少......
  • postgres物化视图自动触发
    环境centos7.9,postgresql-14由于上篇的物化视图是手动刷新数据,sh本着程序员都是懒人的原则,不做成自动刷新是对不起自己的职业步骤建物化视图CREATEMATERIALIZEDVIEWview_xxxAS(SELECT*FROMtable)WITHDATA;WITHDATA指刷新时可查询视图WIT......
  • XMLHttpRequest发送请求报错:Failed to execute 'send' on 'XMLHttpRequest': Failed t
    1、问题源:url:http://localhost:8099/api/testconstxhr=newXMLHttpRequest();xhr.open('post',url,false);xhr.setRequestHeader("Content-type","application/json");varstr=JSON.stringify(uid)xhr.send(str);......
  • 为什么要建物化视图日志
    本文转载自:https://so66.cn/66787.html 建立物化视图日志:提高数据库性能的必要手段当今,数据已成为企业发展的重要资产,而数据库则是数据管理的核心。与此同时,随着业务量越来越大,数据库性能问题也变得越来越突出。在这种情况下,物化视图日志成为了对数据库优化的一种必要手段。......
  • XMLEncoder生成的xml文档的schema分析
    以下文为基础,进行分析LongTermPersistenceofJavaBeansComponents:XMLSchemahttp://java.sun.com/products/jfc/tsc/articles/persistence3/ 1BasicElements每个xml以一个可选的<?xmlversion="1.0"encoding="UTF-8"?>开头,接着是<javaversion="1.4.0&q......
  • 借助Aspose.Html 将 HTML 模板与 XML 或 JSON 合并
    在现代网络开发中,内容和表示的分离是一个基本原则。HTML模板提供了一种定义网页结构和布局的便捷方法,而JSON和XML数据格式通常用于存储和传输结构化信息。结合这些技术,开发人员可以根据外部源的数据动态生成HTML内容。在这篇博文中,我们将探讨如何在Java中将HTML模板与JS......
  • python读取xml文件
    Python有三种方法解析XML:SAX,DOM,以及ElementTree,本博客主要是讲解DOM和ElementTreeDOM解析方法:xml文件解析首先将xml文件加载进内存,然后读取文件中的内容.在内存将文件以树的结构进行保存,树根在上,树枝在下,整个xml文件被封装为Document对象,文件中的标签节点被封装为No......