Kitty
Kitty

Reputation: 187

sapui5 add runtime new control

how can add new control from controller

// 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");

in view I add holder

try to add text from controller but it not display on screen.

var oLayout = this.getView().byId("idholder");  
oLayout.addContent(oInput1);

is Run-time add new control is not possible. we have always render control in view and then update it is this good practice we have to follow ?

Upvotes: 0

Views: 11173

Answers (1)

Qualiture
Qualiture

Reputation: 4920

The placeAt() method is normally only used to place a View or App into the HTML.

If you want to add a UI5 control on your view, you can do it this way from the controller:

this.getView().addContent(oInput1);

But most likely you won't add controls directly to the view, but rather inside a layout or something inside your view. In that case, do it like this:

var oLayout = this.getView().byId("idOfYourSpecificLayoutFrame");
oLayout.addContent(oInput1);

Upvotes: 1

Related Questions