SAP UI5 Smart Controls 是 SAP UI5 开发者迈向 SAP Fiori Elements 开发的重要一步。
Fiori Elements 是一套 SAP Fiori 应用开发框架,是 SAP 将客户最普遍使用的几种类型的 Fiori 应用的交互行为的共性抽取出来形成几套预置页面模板。利用 OData 元数据里添加的 SAP 自定义注解(annotation),SAP UI5 运行时,可以根据这些模板,动态生成各种类型的 SAP UI 页面。
所谓 Smart Control(智能控件),其智能到底体现在哪些方面呢?
以 Smart Controls 家族里一个重要的成员,Smart Field 为例,它能根据后台提供的 OData 元数据,在运行时智能地动态渲染出最贴合该 OData 元数据定义的基础 SAP UI5 控件。
看个具体的例子。
本步骤的代码,位于文件夹 128 之内,地址如下。
打开文件夹里的 SmartField.view.xml, 发现第 19 行代码里,定义了一个来自命令控件 sap.ui.comp.smartfield 的 SmartField 控件。这个控件只有两个属性,其中 value 属性绑定到了模型字段 {Price} 上。

这个 SmartField 控件,光凭上图的定义,我们根本不知道它在运行时会渲染成