其他分享
首页 > 其他分享> > 什么是 SAP UI5 的 Smart Field

什么是 SAP UI5 的 Smart Field

作者:互联网

SmartField 控件解释表示 OData 服务中的实体关系模型、数据类型、服务功能和注释的元数据,以自动生成底层内部控件并减少开发应用程序所需的代码量。在某些情况下,OData 实体派生自控件的绑定上下文。随控件更改或显示的 OData 实体的属性派生自控件的 value 属性。

重要提示:SmartField 与所有 SAPUI5 智能控件一样,会检索和分析 OData 服务的元数据和注释。 OData 元数据是其主要 API。这些 OData 服务不是 SAPUI5 框架的一部分,通常由应用程序的后端开发人员维护。

随着时间的推移,SmartField 可以发展并获得新功能。这意味着如果定义此更改的注释保留在后端元数据中,则其行为或功能可能会更改。要从新功能中受益,SAP UI5 应用程序应该能够适应后端元数据。因此,SAP 建议仅当开发人员可以完全控制应用程序的元数据时,才使用 SmartField.

Accessibility

出于互操作性和可访问性的原因,SmartField 控件必须由 sap.ui.comp.smartfield.SmartLabel 控件而不是 sap.m.Label 控件标记,因为 sap.m.Label 控件不知道内部结构 一个 SmartField 控件。 如果 SmartField 控件呈现在智能容器控件(例如 SmartForm 控件)中,则会自动生成 SmartLabel 控件以减少应用程序端所需的代码量。 但是,在其他情况下,当 SmartField 单独使用或在智能容器控件之外使用时,例如 SimpleForm 控件,在这些情况下不会自动生成 SmartLabel 控件。 尽管 sap.ui.comp.smartfield.SmartLabel 是私有/内部控件,但应用程序允许以下基本用途用于标记 SmartField 控件。

一个例子:

<sap.ui.comp.smartfield.SmartLabel labelFor="IDProduct"/>
<sap.ui.comp.smartfield.SmartField id="IDProduct" value="{ProductId}"/>

不建议单独使用 SmartLabel 控件。 只允许基本使用,不包括自动处理可见性。 如果单独使用,应用程序逻辑必须注意标签的可见性。

FieldControl

定义字段是强制的、隐藏的还是处于只读/可编辑模式。

实体数据模型 (EDM) 属性可以使用 OData V4 模型中的 com.sap.vocabularies.Common.v1.FieldControl 注释或 OData V2 模型中的 sap:field-control 注释动态注释,方法是提供到另一个属性的绑定路径类型为 Edm.Byte 的 EDM 属性,其在数据模型中的值可以是:

标签:控件,SmartField,SmartLabel,OData,sap,注释,Field,UI5,SAP
来源: https://www.cnblogs.com/sap-jerry/p/16056779.html