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将状态存储在何处。我建议您查看文档和厨房水槽示例