用途:在需要创建 SAPUI5 自定义控件时提供结构与最佳实践参考。资料强调只有当标准 UI5 控件或 Fiori Elements 构建块通过配置或扩展无法满足需求时才应自定义控件,因为自定义控件会带来维护负担。
主要能力:给出基础自定义控件结构,使用 Control.extend() 定义 metadata(properties、aggregations、events),配置 init()、onBeforeRendering()、onAfterRendering()、exit() 生命周期钩子,以及渲染器写法。渲染器必须设置 apiVersion: 2(自 UI5 1.67 起新控件必需),启用语义渲染以减少整段 DOM 替换、提升性能。文本内容始终用 oRm.text() 输出以自动转义,避免 innerHTML/XSS 风险。资料还给出 UI5 >= 1.120 的 TypeScript 控件写法,使用静态 metadata 与静态 renderer。
使用方式:在 XML 视图中引入控件命名空间并以标签使用,如 <custom:StatusBadge text="{status}" status="{statusType}" press=".onStatusPress" />。各生命周期用途:init() 创建内部聚合、设置默认值;onBeforeRendering() 同步内部聚合状态;onAfterRendering() 访问 DOM 或集成第三方库;exit() 销毁聚合、移除事件监听与定时器。
适用场景与限制:适用于 SAPUI5 应用需要可复用自定义 UI 控件的场景,官方参考链接涵盖控件开发与 TypeScript 控件主题。资料未提供具体安装命令、收费或价格信息,暂未提供。常见错误包括未使用 apiVersion: 2、在 onBeforeRendering() 访问 DOM、渲染器写 innerHTML、exit() 未销毁内部聚合导致内存泄漏,以及本可用标准控件扩展或 Fragment 时过度自定义。