extjs中的状态管理?

extjs中的状态管理?,extjs,extjs4,extjs4.2,Extjs,Extjs4,Extjs4.2,我正在尝试在我的应用程序中使用以下代码,以保留我的应用程序的当前状态,即使它已刷新 Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); 但在执行了上述代码之后,它对我不起作用 请建议任何方法,因为我不熟悉ExtJs 谢谢 您需要在应用程序的启动函数或控制器的初始化中定义它。当使用状态提供程序时,其关键使用期限到期 init : function() { Ext.state.Manager.setProvi

我正在尝试在我的应用程序中使用以下代码,以保留我的应用程序的当前状态,即使它已刷新

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
但在执行了上述代码之后,它对我不起作用

请建议任何方法,因为我不熟悉
ExtJs


谢谢

您需要在应用程序的启动函数或控制器的初始化中定义它。当使用状态提供程序时,其关键使用期限到期

init : function() {
        Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
            expires : new Date(Ext.Date.now() + (1000*60*60*24*90)) // 90 days
        }));
    }
然后根据您试图保存的组件状态,将其stateful属性设置为true,或者为其提供stateId

以下是保存电网状态的示例:

Ext.define('MyApp.view.Users', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.users_grid',
    title: 'Users',
    stateful:true,
    stateId:'users_grid_stid',
    store:{
        data:[
            {
                first_name:'Joe',
                last_name:'Blogs'
            }
        ]
    },
    columns: {
        items: [
            {
                xtype: 'gridcolumn',
                dataIndex: 'first_name',
                text: 'First Name',
                width: 200
            },
            {
                xtype: 'gridcolumn',
                dataIndex: 'last_name',
                text: 'Last Name',
                width: 200
            }
        ]
    }
});
您可以通过修改此网格上某列的宽度来测试这一点,然后在下次加载页面时,即使在重新启动浏览器后,该列也将保持修改后的宽度。
检查F12控制台->应用程序Cookies以查看保存的组件状态。

这只是告诉ExtJs将状态存储在何处。我建议您查看文档和厨房水槽示例