2014-09-24 35 views
0

如何從控制器sapui5添加新的運行控制

// 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

您在控制檯中遇到什麼錯誤? – Qualiture 2014-09-25 11:13:34

+0

沒有錯誤,但oInput1不顯示在屏幕上。 – Kitty 2014-09-25 11:59:24

+0

你確定嗎?瀏覽器控制檯中沒有錯誤?如果您的佈局存在,並且您的文本控件,那麼它應該是在控制檯中的錯誤...其他控件是否正確呈現? – Qualiture 2014-09-25 13:16:28

回答

0

placeAt()方法通常只用於將視圖或應用程序放入HTML中。

如果你想在你的視圖中添加UI5控制,你可以做這樣從控制器:

this.getView().addContent(oInput1);

但是很有可能你不會直接控件添加到視圖,但而是放置在視圖內的佈局或其他內容中。在這種情況下,請這樣做:

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

但爲什麼它不顯示在屏幕上? – Kitty 2014-09-24 12:45:50

+0

然後使用標識符id將Text控件添加到該VBox – Qualiture 2014-09-24 12:49:09