2014-09-24 70 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