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

什么是 SAP UI5 XML 视图里的 customData

时间:2023-08-06 10:03:46浏览次数:35  
标签:XML 控件 customData 视图 列表 value 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,视图,列表,value,key,数据
From: https://blog.51cto.com/jerrywangsap/6981814

相关文章

  • 微信小程序视图容器 view
    <viewclass="section"><viewclass="section__title">flex-direction:row</view><viewclass="flex-wrp"style="flex-direction:row;"><viewclass="flex-itembc_green">1&l......
  • 开源.NetCore通用工具库Xmtool使用连载 - XML操作篇
    【Github源码】《上一篇》介绍了Xmtool工具库中的发送短信类库,今天我们继续为大家介绍其中的XML操作类库。XML操作是软件开发过程中经常会遇到的情况;包括XML内容的遍历解析,或者特定值内容的查询获取等等。Xmtool工具库提供了一种更方便的方式对Xml进行遍历解析或者对特定节点......
  • Spring源码之XML文件中Bean标签的解析1
    读取XML文件,创建对象xml文件里包含Bean的信息,为了避免多次IO,需要一次性读取xml文件中所有bean信息,加入到Spring工厂。读取配置文件newClassPathResource("applicationContext.xml")ClassPathResource是Spring封装的一个类型;Resource接口:可以读取相关资源文件的内容获得......
  • pom.xml
    打包插件<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version>......
  • Android开发 Jetpack Compose 与xml的混合开发AndroidView
    前言  JetpackCompose虽然已经逐渐完善,但是其实还是有很多地方未满足需求。比如播放视频、相机预览等等依然需要原来的View。所以目前阶段JetpackCompose与xml的混合开发非常重要。  官方文档地址:https://developer.android.google.cn/jetpack/compose/migrate/interopera......
  • 6、Spring之基于xml的自动装配
    6.1、场景模拟6.1.1、创建UserDao接口及实现类packageorg.rain.spring.dao;/***@authorliaojy*@date2023/8/5-11:05*/publicinterfaceUserDao{voidsaveUser();}packageorg.rain.spring.dao.impl;importorg.rain.spring.dao.UserDao;/**......
  • vb.net Linq XML Xdocument Descendants 为空
    在使用xdocumentdesendants进行筛选元素时,发现结果为空 经过网友的文章提醒发现是命名空间的问题在使用linqwhere进行网页元素筛选时发现descendants("div")不起作用,而是用descendatns可以看到元素枚举DimieAsIEnumerable(OfXElement)=ex1.Descendant......
  • day123- 自动装配xml
    基于xml的自动装配自动装配根据指定的策略,在IOC容器中匹配某一个bean,自动为指定的bean中所依赖的类类型或接口类型属性赋值模拟controllerpublicclassUserController{privateUserServiceuserService;​publicUserServicegetUserService(){......
  • freeswitch的mod_xml_curl模块动态获取dialplan
     概述freeswitch是一款简单好用的VOIP开源软交换平台。mod_xml_curl模块支持从web服务获取xml配置,本文介绍如何动态获取dialplan配置。环境centos:CentOS release7.0(Final)或以上版本freeswitch:v1.6.20GCC:4.8.5dialplan查找流程我们在“switch_xml_parse_file”函......
  • Spring-1-透彻理解Spring XML的Bean创建--IOC
    学习目标上一篇文章我们介绍了什么是Spring,以及Spring的一些核心概念,并且快速快发一个Spring项目,实现IOC和DI,今天具体来讲解IOC能够说出IOC的基础配置和Bean作用域了解Bean的生命周期能够说出Bean的实例化方式一、Bean的基础配置问题导入问题1:在<bean>标签上如何配置别名......