Sapui5 从视图中删除控件
我试图在运行时创建一个sap.m.Text并删除创建的元素。创建很简单,但是删除元素是一个问题。我找不到一个办法 代码: 创造 新的sap.m.Text(this.createId(“Row1”)) 除去Sapui5 从视图中删除控件,sapui5,Sapui5,我试图在运行时创建一个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.
_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错误
附言:
$('Row1').remove()不能真正工作,因为它没有从视图对象中删除。如何按ID从JS视图中删除文本/按钮或任何控件
我在本地机器上创建了一个小型本地示例。您有两种选择,一种是在创建时检查文本控件是否已经存在,只需进行一些调整,另一种是(如果您确实希望有一个干净的开始)销毁它:
this.byId("Row1").destroy();
请注意,使用createId创建标识符是最佳做法:
this.createId("Row1");
您可以使用
删除控件。可以使用销毁:
var oDynamicPage=this.byId(“dynamicContentForm”);
如果(oDynamicPage!==未定义){
oDynamicPage.destroyContent();
}
请提供一个运行示例$('Row1').remove()无法工作,因为它是纯jQuery。即使UI5使用它,您也需要使用UI5API!同意,jQuery不是答案。我还寻找SAP UI5 API从视图中删除控件。我能找到的唯一API是下面的API,但它不起作用。有任何API建议吗?var oText=new sap.m.Text(this.createId(“Row1”);oThis.getView().removeContent(oText);//预期将从视图中删除/删除创建的文本。请使用JSBin提供示例。从评论中不可能看到你在哪里添加了文本对象以及这个和其他是什么。谢谢你看这个问题。我对JSBin不是很在行……但这两个建议不能齐头并进……)如果我错了,请更正。函数byId会自动调用createId,但您可以自己调用它以避免错误的解释。@Matbtt嘿,mate,我可以知道如何在创建时检查控件是否已经存在吗?