什么是 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 属性,其在数据模型中的值可以是:

  • 0:表示该字段已隐藏。注意: Hidden 是不适用的同义词,不推荐使用,不要使用它来静态隐藏用户界面上的字段,而是使用静态 FieldControl 注释。
  • 1:表示该字段处于只读模式,其值不能更改。注意:要将 EDM 属性静态注释为只读,请改用 Org.OData.Core.V1.Computed 注释。
  • 3:表示该字段是可编辑的和可选的(默认)。
  • 7:表示从业务角度来看该字段是强制性的。此值并不意味着对 EDM 属性的值范围有任何限制。例如,为了限制值范围的使用,必须使用值为 false 的标准类型 facet Nullable 来排除空值,或者必须使用 Org.OData.Validation.V1 词汇表中的术语。
相关文章
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
2月前
|
存储 安全 测试技术
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
|
2月前
|
数据库
什么是 SAP S/4HANA 的 Brown Field 迁移和 Green Field 迁移
什么是 SAP S/4HANA 的 Brown Field 迁移和 Green Field 迁移
|
2月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
|
2月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
2月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
2月前
|
搜索推荐
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版