likes
comments
collection

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

作者站长头像
站长
· 阅读数 12

一套适合 SAP UI5 初学者循序渐进的学习教程

教程目录

说明

Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和“汪子熙”微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。

在 Jerry 这篇文章 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好? 曾经提到,Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 初学者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求浅显易懂,便于 SAP UI5 初学者理解。

本教程每一个步骤的源代码,都存放在我的 Github 上,分别用文件夹 01,02,03 等等来标识。

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

每一个步骤均是前一步骤的基础上,添加了若干新特性。建议零基础或者对 SAP UI5 知之甚少的初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。

大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。

本教程在之前的第 17 个步骤,学习了列表控件的使用方法:

SAP UI5 应用开发教程之十七 - 聚合绑定在 UI5 复合控件中的使用

如下图所示,列表里每个行项目,都是使用同一种 SAP UI5 控件进行渲染的。

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

这个表格控件的行项目,采用 SAP UI5 标准的 ObjectListItem 实现。

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

在实际项目开发过程中,我们经常遇到一些更动态的渲染需求,比如针对不同的列表行项目数据,采取不同的方式来渲染列表行项目本身。

有的朋友也许会说,这个需求可以采用本教程第 21 个步骤的自定义格式器来实现:

SAP UI5 应用开发教程之二十一 - SAP UI5 的自定义格式器 Custom Formatter

比如下面的例子:

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

然而,格式器只能对行项目显示的文本的内容和外观(比如颜色)进行定制化,上面五个行项目,采用的仍然是同一个标准控件 ObjectListItem.

如果对于不同的行项目数据,需要用不同的 SAP UI5 控件来显示行项目本身,这种需求自定义格式器 Custom Formatter 就无能为力了。这种需求的标准解决方案是本文即将介绍的工厂方法。

本步骤实现效果如下:

SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

具体实现细节如下