Sapui5 初始化输入数据
在何处以及如何清除视图上的输入日期 例如,当数据保存后,我从菜单访问我的页面时,旧数据仍显示在输入框中 我尝试了onInit()函数,但这只是第一次激发到视图中 navto调用位于调用defaultTimes页面(视图/控制器)的BaseController中 我的清晰代码位于detaultTimes的“路径匹配”功能中Sapui5 初始化输入数据,sapui5,Sapui5,在何处以及如何清除视图上的输入日期 例如,当数据保存后,我从菜单访问我的页面时,旧数据仍显示在输入框中 我尝试了onInit()函数,但这只是第一次激发到视图中 navto调用位于调用defaultTimes页面(视图/控制器)的BaseController中 我的清晰代码位于detaultTimes的“路径匹配”功能中 _onRouteMatched : function(oEvent) { var view = this.getView(); view.byId("shopInput")
_onRouteMatched : function(oEvent) {
var view = this.getView();
view.byId("shopInput").setValue("");
view.byId("effectiveDateFrom").setValue("");
view.byId("shop24Hrs").setSelected(false);
view.byId("shopClosed").setSelected(false);
},
但问题是,_onRouteMatched也会在默认时间后从页面的导航中调用。我不想在这种情况下清除字段
如何仅实现基本控制器的onNavToDefaultTimes清除功能
您能举个例子吗。您可以选择以下选项之一,并在执行要保存的代码后放置其中一个选项: 备选案文1:
var yourInput=this.getView().byId(“yourInputID”);
yourInput.setValue(“”);
选项2(尝试某人):
var yourInput=this.getView().byId(“yourInputID”);
yourInput.unbindValue();
yourInput.unbinelement();
yourInput.unbinObject();
或者将代码放入以下方法中,该方法在每次显示视图时执行:
onAfterRendering:function(){
//选择的选项
}
假设在其中创建输入字段的视图的名称为test.js,那么无论何时导航到该视图或从该视图导航,都可以使用如下所示的无效视图
sap.ui.getCore().byId("test").invalidate();
这样,当您返回视图时,将再次渲染视图,并触发onBeforeRendering()谢谢您的回复。问题是,当我从下一页返回时,我需要保留详细信息。我已经为这个问题添加了更多的细节。我不知道我是否理解你现在问的问题。。。但是,如果要重置/清除特定视图(例如View1)的输入,则应将该输入的代码放在相应的控制器(即Controller1)中。还有一个技巧,正如我在第一个答案中所说的,在单击save按钮时使用/放置代码重置/清除输入,因为在导航到视图时会调用_onRouteMatched,因此当您单击导航视图并在输入中显示数据时,调用该方法时,输入将被清除/重置。
sap.ui.getCore().byId("test").invalidate();