Javascript 在OpenUI5中创建运行时按钮

Javascript 在OpenUI5中创建运行时按钮,javascript,sapui5,Javascript,Sapui5,我是SAPUI5/OpenUI5的新手,正在编写一个实验性的小项目,我想为列表中的每个项目创建一个长度可变的按钮 按钮必须指向同一事件,但这些按钮甚至必须通过参数、元素或类似方式知道按下了哪个按钮 我在文档中找不到如何在基于列表的视图中显示按钮。我找不到在运行时在元素中创建它们的方法 有任何帮助我的提示或链接吗?这是可行的 //this is a common btn click handler var btnHandler = function(evt) { var obtn = evt.

我是SAPUI5/OpenUI5的新手,正在编写一个实验性的小项目,我想为列表中的每个项目创建一个长度可变的按钮

按钮必须指向同一事件,但这些按钮甚至必须通过参数、元素或类似方式知道按下了哪个按钮

我在文档中找不到如何在基于列表的视图中显示按钮。我找不到在运行时在
元素中创建它们的方法

有任何帮助我的提示或链接吗?

这是可行的

//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');
//这是一个常见的btn点击处理程序
var btnHandler=函数(evt){
var obtn=evt.getSource();
//现在您可以访问相应的按钮
var customData=obtn.getCustomData()[0].getValue();
sap.m.MessageToast.show(“单击按钮:”+customData)
};
var oFlexBox=new sap.m.FlexBox();
对于(变量i=0;i<5;i++){
var btn=新sap.m.按钮({
文本:“按钮”+i,
记者:btnHandler,
//在此处添加自定义数据。这是一个聚合,意味着您可以根据需要添加任意数量的自定义数据。
customData:new sap.ui.core.customData({
钥匙:“钥匙”,
价值:i
})
});
附加项(btn);
}
oFlexBox.placeAt(“内容”);
这是可行的

//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');
//这是一个常见的btn点击处理程序
var btnHandler=函数(evt){
var obtn=evt.getSource();
//现在您可以访问相应的按钮
var customData=obtn.getCustomData()[0].getValue();
sap.m.MessageToast.show(“单击按钮:”+customData)
};
var oFlexBox=new sap.m.FlexBox();
对于(变量i=0;i<5;i++){
var btn=新sap.m.按钮({
文本:“按钮”+i,
记者:btnHandler,
//在此处添加自定义数据。这是一个聚合,意味着您可以根据需要添加任意数量的自定义数据。
customData:new sap.ui.core.customData({
钥匙:“钥匙”,
价值:i
})
});
附加项(btn);
}
oFlexBox.placeAt(“内容”);