Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
View extjs先保存组件视图状态,然后再将其从父组件中删除_View_State_Extjs5 - Fatal编程技术网

View extjs先保存组件视图状态,然后再将其从父组件中删除

View extjs先保存组件视图状态,然后再将其从父组件中删除,view,state,extjs5,View,State,Extjs5,让我解释一下我的情况。我正在使用ExtJS5。我有一个视图组件让我们命名为viewOne包含两个组合框,按钮搜索和一些操作按钮,点击搜索按钮网格填充。此viewOne位于父视图组件viewParent中。我需要加载第二个视图viewTwo在选择某个网格行并单击某个操作按钮时,将在parentView中加载新视图viewTwo。当我从viewTwo返回viewOne时,我需要组合框的旧值来重新执行搜索 目前,我将组合框的值存储在一个存储中,并在后视图渲染和调用搜索时进行设置。我们已放弃此实现的卡布

让我解释一下我的情况。我正在使用ExtJS5。我有一个视图组件让我们命名为viewOne包含两个组合框,按钮搜索和一些操作按钮,点击搜索按钮网格填充。此viewOne位于父视图组件viewParent中。我需要加载第二个视图viewTwo在选择某个网格行并单击某个操作按钮时,将在parentView中加载新视图viewTwo。当我从viewTwo返回viewOne时,我需要组合框的旧值来重新执行搜索

目前,我将组合框的值存储在一个存储中,并在后视图渲染和调用搜索时进行设置。我们已放弃此实现的卡布局


我想知道如何通过Ext.state做到这一点,但我找不到任何与我的问题解决方案相近的例子。还有其他方法吗?

州政府似乎有理由这么做。首先,必须通过将Ext.state.Manager.setProvider调用到扩展Ext.state.Provider的类的实例来设置StateProvider。 那么州政府应该对你有用。您必须记住的唯一一件事是将stateful属性设置为true,并设置组件的stateId

通常,您不需要自己保存状态。所有内置有状态组件都定义了状态事件。当此类状态事件发生时,如展开面板,则状态自动保存。您可以通过在initComponent中调用addStateEvents来自定义状态事件

要提供自定义组件状态,应重写applyState和getState方法。当您将它与addStateEvents结合使用时,您就拥有了所需的一切

例如: