首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从视图中删除控件

从视图中删除控件
EN

Stack Overflow用户
提问于 2015-07-05 00:52:56
回答 2查看 12.7K关注 0票数 2

我尝试在运行时创建一个sap.m.Text并删除创建的元素。创建是直接的,但是删除元素是一个问题。我找不到做这件事的方法。

代码:

新建sap.m.Text(this.createId("Row1"))

删除

代码语言:javascript
运行
复制
_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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-05 19:50:26

我在本地机器上创建了一个小的本地示例。你有两个选择,要么在创建时检查你的文本控件是否已经存在,只做一些调整,要么-如果你真的想有一个干净的开始-销毁它:

代码语言:javascript
运行
复制
this.byId("Row1").destroy();

请注意,最佳实践是使用createId创建标识符:

代码语言:javascript
运行
复制
this.createId("Row1");
票数 9
EN

Stack Overflow用户

发布于 2021-02-22 13:47:38

可以使用.destroy<aggregationName>()方法移除该控件。

例如,sap/f/DynamicPage有一个名为<content>的聚合。例如,可以使用.destroy()

代码语言:javascript
运行
复制
var oDynamicPage = this.byId("dynamicContentForm");
if (oDynamicPage !== undefined) {
  oDynamicPage.destroyContent();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31223052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档