Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 初始化输入数据_Sapui5 - Fatal编程技术网

Sapui5 初始化输入数据

Sapui5 初始化输入数据,sapui5,Sapui5,在何处以及如何清除视图上的输入日期 例如,当数据保存后,我从菜单访问我的页面时,旧数据仍显示在输入框中 我尝试了onInit()函数,但这只是第一次激发到视图中 navto调用位于调用defaultTimes页面(视图/控制器)的BaseController中 我的清晰代码位于detaultTimes的“路径匹配”功能中 _onRouteMatched : function(oEvent) { var view = this.getView(); view.byId("shopInput")

在何处以及如何清除视图上的输入日期

例如,当数据保存后,我从菜单访问我的页面时,旧数据仍显示在输入框中

我尝试了onInit()函数,但这只是第一次激发到视图中

navto调用位于调用defaultTimes页面(视图/控制器)的BaseController中

我的清晰代码位于detaultTimes的“路径匹配”功能中

_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();