从标准App中的fragment.xml隐藏UI元素

时间:2016-04-27 04:37:54

标签: sapui5 sap-fiori

我想在My Travel and Expense(标准应用程序)中隐藏一些UI元素。我试过不同的方法,但我无法实现我想要的。这是我的要求:

在我的旅行和费用应用程序(TRV_TE_CRE)中,我想隐藏以下UI元素:

GenericClaim.fragment.xml - Button id="costAssignmentButton"

我已经为TRV_TE_CRE添加了扩展项目,并尝试如下:

  1. component.js中,我添加了以下语句来隐藏 定制

    {
        "sap.ui.viewModifications": {
        "mytravelandexpense.view.GenericClaim": {
            "costAssignmentButton": {
                "visible": false
            },
        },
    },
    

    结果:无法正常工作

  2. 扩展GenericClaim.controller.js: 我在hookmethod中添加了以下代码

    this.byFragmentId("costAssignmentButton").setVisible(false);
    

    结果:整个声明页面未加载

  3. 通过使用访问密钥,我在GenericClaim.fragment.xml

    中评论了UI代码

    结果:没有隐藏

1 个答案:

答案 0 :(得分:0)

您可以从视图中访问元素ID,而不是片段ID。在视图控制器中添加此方法。

onAfterRendering : function(){
    var buttonToHide = this.getView().byId("costAssignmentButton");
    buttonToHide.setVisible(false);
},