HBox中的VBox通过控制器

时间:2017-02-15 15:00:29

标签: javascript sapui5

使用此代码,我想在一个HBox中创建4个VBox

        var count= 4;

        var hbox = new sap.m.HBox("HBox", {
            width: "100%"
        });

        for(var i = 0; i <= count; i++){
            new sap.m.VBox("V_" + i, {
                width: "100px",
                height: "200px",
            }).placeAt(hbox);
        };
        this.getView().byId("myContainer").addContent(hbox);

但是只有没有Vbox的HBox。有任何想法吗?

2 个答案:

答案 0 :(得分:0)

请查看jsbin example,它的布局是什么?

abcdefghjikl
123456789ab
aerereghjik
123456789ab
abc43434dfd
12erere789a
abcdefghjik
12345fdfd89

答案 1 :(得分:0)

您的代码存在的问题是您使用 placeAt 函数来放置控件。 placeAt函数用于将SAPUI5控件放在HTML DOM元素中或控件内,如果它有一个名为 content 的聚合,但是要将其置于其他聚合中,您将使用它特定的setter / getter&amp;添加/删除功能。

在这种情况下,HBox扩展了具有聚合的FlexBox控件。因此,它将使用addItem方法添加控件。

var count = 4;

        var hbox = new sap.m.HBox("HBox", {
            width: "100%"
        });

        for (var i = 0; i <= count; i++) {
            hbox.addItem(new sap.m.VBox("V_" + i, {
                width: "100px",
                height: "200px",
            }));
        };
        this.getView().byId("myContainer").addContent(hbox);