Fiori Elements 对象页面自定义操作按钮类型

问题描述 投票:0回答:1

我的目标是在 Fiori Elements 对象页面的页脚中有两个按钮。 一个按钮是接受实体,另一个按钮是拒绝对象页面上的实体。 为了强调这一点,我想使用按钮类型“接受”和“拒绝”。

这是我的清单中的代码(使用 VS Code Fiori 扩展生成以进行指导开发):

"sap.ui.controllerExtensions": {
    "sap.suite.ui.generic.template.ObjectPage.view.Details": {
        "controllerName": "appid.ext.controller.ObjectPageExt",
        "sap.ui.generic.app": {
            "type1": {
                 "EntitySet": "set1",
                  "Header": {
                      "Actions": {
                          "disbursementLoan": {
                              "id": "action1",
                              "text": "{@i18n>}",
                              "press": "action1",
                              "requiresSelection": false,
                              "determining": true
                          },
                          "refejectDokuments": {
                              "id": "action2",
                              "text": "{@i18n>}",
                              "press": "action2",
                              "requiresSelection": false,
                              "determining": true
                          }                                       
                      }
                  }
               }
            }
         }
     }

我尝试添加 sap.m.button 属性

type
,如
"type": "Accept"
,但按钮并未以其各自的类型出现。
是否有不同的方法将自定义操作/按钮添加到对象页面的页脚栏或标题,我可以在其中控制按钮类型?

提前致谢, 埃里克

sapui5 sap-fiori
1个回答
0
投票

对于 RAP 操作,您可以使用属性

criticality
,请参阅 官方文档 了解更多信息。

对于自定义操作,您必须使用 JS 代码。在您的控制器扩展中获取按钮并设置按钮类型

sap.ui.define(
    ["sap/m/library"],
    (mLibrary) => {

        const { ButtonType } = mLibrary;

        return {
            onAfterRendering() {
                this._getAction1Button().setType(ButtonType.Accept);
            },

            _getAction1Button() {
                return this.byId(this.getView().createId("action::action1"));
            }
        };
    },
);

同样适用于

action2

© www.soinside.com 2019 - 2024. All rights reserved.