【问题标题】:How to get the xml control attributes如何获取xml控件属性
【发布时间】:2016-02-24 11:01:23
【问题描述】:

我想在方法render中获取属性

sap.ui.define([
    "sap/ui/core/Control"
], function (Control) {
    "use strict";
    return Control.extend("sap.ui.test.control.IndexPageButton", {
        metadata : {
            properties: {
                value:  {type : "float", defaultValue : 0},
                name: "IndexPageButton",
                label: "Label"
            },
            events: {},
            aggregations : {}
        },
        init : function () {
        },
        renderer : function (oRM, oControl) {
            oRM.write("<div");
            oRM.writeControlData(oControl);
            oRM.writeClasses();
            oRM.write(">");

            oRM.write("<span");
            oRM.addClass("label");
            oRM.write(">");
            oRM.write("</span>");

            oRM.write("<span");
            oRM.addClass("counter");
            oRM.write(">");
            oRM.write("</span>");

            oRM.write("</div>");
        }
    });
});

XML:

<test:IndexPageButton class="item" value="20" label="{i18n>homePageLink}" />

我想要获取 attrs 值和标签,并将它们粘贴到渲染 sapn 中。

我是怎么做到的?

【问题讨论】:

    标签: javascript xml controls sapui5


    【解决方案1】:

    您可以通过它们各自的 getter 函数访问控件的属性。

    对于元数据中定义的每个属性,框架会自动生成一个 getter 和一个 setter。

    因此,您可以使用以下行访问 renderer 函数中的值和标签:

    oControl.getValue();
    oControl.getLabel();
    

    【讨论】:

    • 谢谢!我怎样才能在这个项目上设置一个事件?如果我添加属性press="showAlert" - 它将不起作用。你能告诉我吗?
    • 我认为您继承的控件还没有任何事件。您必须在元数据中添加事件(例如 press)。同样,attach、detach 和 fire 方法将自动生成。如果您需要更多信息,@nabi 就如何制作自定义控件做了一个很好的教程:nabisoft.com/tutorials/sapui5/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2013-11-21
    • 2012-09-12
    • 1970-01-01
    相关资源
    最近更新 更多