我是SAPUI5 / OpenUI5的新手,写了一个实验性的小项目,我想为一个长度可变的列表中的每个项目创建一个按钮。
按钮必须指向同一个事件,但是必须通过参数,元素或类似方式知道按下了哪个按钮。
我在文档中找不到如何根据列表在视图中显示按钮。我找不到在<FlexBox>
元素中运行时创建它们的方法。
任何帮助我的灯光或链接?
答案 0 :(得分:2)
这是可行的。
//this is a common btn click handler
var btnHandler = function(evt) {
var obtn = evt.getSource();
//now you have access to the respective button
var customData = obtn.getCustomData()[0].getValue();
sap.m.MessageToast.show("button Clicked:" + customData)
};
var oFlexBox = new sap.m.FlexBox();
for (var i = 0; i < 5; i++) {
var btn = new sap.m.Button({
text: "Button" + i,
press: btnHandler,
//add your custom data here.. this is an aggregation which means you can add as many customDatas as required.
customData: new sap.ui.core.CustomData({
key: "key",
value: i
})
});
oFlexBox.addItem(btn);
}
oFlexBox.placeAt('content');