使用此代码,我想在一个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。有任何想法吗?
答案 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);