笔者这篇教程介绍了如何在 SAP Fiori Elements 应用的 manifest.json 里注册 Extension fragment,从而给 List Report 应用的 Table 区域新增自定义列
:
上图 extends 区域注册的 Extension 信息,运行时在 XMLPreprocessor.js
的 Component.getCustomizing 方法里解析出来。
在 SAP UI5 中,sap.ui.viewExtensions
是一个强大的机制,允许开发者在不修改原始视图代码的情况下,扩展或修改现有的视图。使用它,开发者可以添加新的控件,改变已有控件的属性,甚至替换整个视图的一部分。这提供了一种灵活的方式来定制和扩展现有的 SAP UI5 应用,而无需担心影响到原有的业务逻辑或者 UI 结构。
sap.ui.viewExtensions
的使用主要分为两部分:定义扩展点和实现扩展。
-
定义扩展点
在原始视图中,开发者可以定义一个或多个扩展点。扩展点是一个特殊的占位符控件,表示可以插入新的 UI 元素的位置。下面是一个简单的示例:
<mvc:View controllerName="sap.ui.demo.controller.View1" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:core="sap.ui.core"> <Page title="Title"> <content> <core:ExtensionPoint name="ExtensionPointExample" /> </content> </Page> </mvc:View>
在这个示例中,
core:ExtensionPoint
定义了一个名为ExtensionPointExample
的扩展点。 -
实现扩展
一旦定义了扩展点,开发者就可以在另一个视图中实现扩展,通过
sap.ui.viewExtensions
来添加新的 UI 元素。这个过程通常在manifest.json
文件中进行,如下所示:{ "sap.ui5": { "extends": { "extensions": { "sap.ui.viewExtensions": { "sap.ui.demo.controller.View1": { "ExtensionPointExample": { "className": "sap.ui.core.Fragment", "fragmentName": "sap.ui.demo.fragments.MyFragment", "type": "XML" } } } } } } }
在这个示例中,我们对 View1
的 ExtensionPointExample
扩展点进行了扩展,插入了一个名为 sap.ui.demo.fragments.MyFragment
的 Fragment。这个 Fragment 会在运行时替代扩展点在 UI 中的位置。
这样,即使在 SAP 更新或修改原始视图时,扩展的部分也不会受到影响,因为它们是在一个独立的文件中定义的,而不是直接修改原始代码。这使得应用程序更易于维护和升级。
标签:sap,扩展,视图,manifest,json,viewExtensions,ui,SAP From: https://www.cnblogs.com/sap-jerry/p/17628440.html