如何使用 ID 从控制器中删除添加的项目

How to remove added items using ID from controller

我试过动态地向 HBox 和 FlexBox 添加按钮

在 XML 视图中我做了如下操作:

<HBox id="upperchart">
    <m:Input value=" Key Code " editable='false' width='360px'/> 
</m:HBox>
<FlexBox
    alignItems="Start" id="lowerchart">
<FlexBox>

在控制器中,我尝试使用 ID 访问这些

控制器:

var lowerHBox = this.getView().byId("lowerchart");
var upperHBox = this.getView().byId('upperchart');
var oHBox = new sap.m.HBox();
oHBox.addItem(new sap.m.Input({
    value: "Test Data",
    editable: false,
    width: graphWidth*10 + 'px'
}));
upperHBox.addItem(oHBox);

var oMyFlexbox = new sap.m.FlexBox();
// I am adding Buttons to HBox dynamically
for (var i = 0; i < 5.length; i++){
    oMyFlexbox.addItem(new sap.m.Button({
        text: "Button",
        width: allWidths[i]*10 + 'px'
    }));
}
lowerHBox.addItem(oMyFlexbox);

问题是当我浏览页面时它被创建了多次。

所以我尝试先删除 on 并在此下面再次添加:

lowerHBox.removeItem();
upperHBox.removeItem();

但这对我不利,

我可以知道如何避免它一次又一次地创建或检查项目是否已经存在删除并创建一个新的这样..

提前感谢任何帮助或指导链接。

您可以在此处删除 HBox 的项目:

  lowerHBox.removeAllItems();
  upperHBox.removeAllItems();

这可能会删除据我所知是您的问题之一的项目

link 到文档:

https://sapui5.hana.ondemand.com/#/api/sap.m.HBox%23methods/Summary

我会等待其他专家说出更有效的方法:)