让我解释一下我的情景。我正在使用ExtJS5。我有一个视图组件(让我们名称是viewOne)包含两个组合框,按钮搜索和一些操作按钮,点击搜索按钮,网格被填充。此viewOne位于父视图组件(viewParent)中。我需要在选择一些网格行时加载第二个视图(viewTwo),然后单击某个操作按钮,在parentView中加载一个新视图(viewTwo)。当我从viewTwo返回viewOne时,我需要旧的组合框值来重新执行搜索。
目前,我将组合框的值存储在商店中,然后在后视图渲染和调用搜索时进行设置。我们已经放弃了此实现的卡布局。
我想知道如何通过Ext.state来完成,我找不到任何关于我问题的解决方案的例子。还有其他方法吗?
答案 0 :(得分:0)
国家似乎是合理的。首先,您必须将StateProvider
(通过调用Ext.state.Manager.setProvider
)设置为扩展Ext.state.Provider
的类的实例。
然后国家应该为你工作。只有您必须记住的是将stateful
属性设置为true
并设置组件的stateId
。
通常您不需要自己保存状态。所有内置有状态组件都定义了状态事件。当发生此类状态事件时(例如,面板上的expand
),则会自动保存状态。您可以通过在initComponent中调用addStateEvents
来自定义状态事件。
要提供自定义组件状态,您应该覆盖applyState
和getState
方法。当您将其与addStateEvents
结合使用时,您将拥有所需的一切。