如何从控制器添加新控件
// create a simple Input field
var oInput1 = new sap.m.Text('input1');
oInput1.setText("Some Text ");
oInput1.setTooltip("This is a tooltip ");
// attach it to some element in the page
oInput1.placeAt("sample1");
在视图中添加持有人
尝试从控制器添加文本,但不会在屏幕上显示。
var oLayout = this.getView().byId("idholder");
oLayout.addContent(oInput1);
是运行时添加新控件是不可能的。我们总是在视图中呈现控件然后更新它是我们必须遵循的这个好习惯吗?
答案 0 :(得分:1)
placeAt()
方法通常仅用于将视图或应用程序放入HTML中。
如果要在视图上添加UI5控件,可以通过控制器这样做:
this.getView().addContent(oInput1);
但很可能你不会直接在视图中添加控件,而是在视图内部的布局或内容中添加控件。在这种情况下,请这样做:
var oLayout = this.getView().byId("idOfYourSpecificLayoutFrame");
oLayout.addContent(oInput1);