我尝试在运行时创建一个sap.m.Text并删除创建的元素。创建是直接的,但是删除元素是一个问题。我找不到做这件事的方法。
代码:
新建sap.m.Text(this.createId("Row1"))
删除
_oThis.getView().removeContent(1); // Doesn't work
_oThis.getView().removeContent(oObjText); // Doesn't work
_oThis.getView().removeContent(sap.ui.getCore().byId('Row1')); // Doesn't work
_oThis.getView().removeContent(view.byId(oo)); // Doesn't work
_oThis.getView().removeContent('Row1'); // Doesn't work
删除元素os $( 'Row1‘).remove();//但不会从聚合中删除,并且如果添加回具有相同ID’Row1‘的元素,则会给出重复的ID错误
PS:$('Row1').remove()没有真正起作用,因为它没有从视图对象中删除。如何通过ID从JS View中移除Text/Button或任何控件?
https://openui5.hana.ondemand.com/docs/api/symbols/sap.ui.core.mvc.View.html#removeContent
发布于 2015-07-05 11:50:26
我在本地机器上创建了一个小的本地示例。你有两个选择,要么在创建时检查你的文本控件是否已经存在,只做一些调整,要么-如果你真的想有一个干净的开始-销毁它:
this.byId("Row1").destroy();
请注意,最佳实践是使用createId创建标识符:
this.createId("Row1");
发布于 2021-02-22 05:47:38
可以使用.destroy<aggregationName>()
方法移除该控件。
例如,sap/f/DynamicPage
有一个名为<content>
的聚合。例如,可以使用.destroy()
:
var oDynamicPage = this.byId("dynamicContentForm");
if (oDynamicPage !== undefined) {
oDynamicPage.destroyContent();
}
https://stackoverflow.com/questions/31223052
复制相似问题