Ext.state.Manager存在的意义:简单说就是在客户端存取数据,譬如说用户打开一个Window之后对其大小进行了调整,他不想每次打开都要重新调整窗口大小,这时你就可以使用Ext.state.Manager记住他所设定的窗口大小,这样他即使关闭浏览器再打开打那个Window还会是你所保存的大小。
默认情况下所有组件执行构造函数时都会访问这个类。如果你想要让它记住组件的状态必须在程序初始化的时候设置一个Provider(一个可以对数据进行存取的底层实现),Ext提供的一个实现就是Ext.state.CookieProvider,这个类通过操作浏览器的cookie实现数据的存取,通常你需要在程序起始的时候对它进行设置。例如:
Ext.state.Manager.setProvider(
new Ext.state.CookieProvider({
expires: new Date(new Date().getTime()+(1000*60*60*24*365)), //1年保存期,默认是7天
}));
在组件中使用状态管理:
stateful:Boolean
这个属性只要不是false,这个组件就回在构造时访问Ext.state.Manager
stateId:String
这个属性是组件状态化的标实,没设置的话会被设置为组件的id,如果组件id也没手工设置,它会被设置为null(如果想对组件进行状态管理,这一项不能为null)
stateEvents:Array
事件名的数组,其中任何事件触发时Ext.state.Manager都会重新记录组件的状态
getState():Object
此方法用于保存组件状态,当stateEvents中的事件触发时会被调用,默认情况下是一个空方法;你需要改写此方法返回一个带有需要保存信息的直接量对象,这个对象会被Ext.state.Manager记录下来并且做为唯一参数传递给applyState方法。
applyState(Object state):void
如果stateful不为false并且Ext.state.Manager保存了这个对象的状态,这个方法会在组件构造时被隐式调用(不用你自己写代码,Ext会把当前组件的state对象做为参数传递到这个方法并进行调用),默认情况下这个函数就是把state的所有属性复制到这个对象上。
beforestaterestore、beforestatesave、staterestore、statesave四个事件可用来对状态保存和读取进行监听
简而言之,你至少需要为需要状态管理的组件配置以下属性:
属性:
id或stateId stateEvents
方法:
getState
这里有个例子可以借鉴:
http://www.extjs.com/learn/Manual:Core:State_(Chinese)
分享到:
相关推荐
xtype Class box Ext.BoxComponent 具有边框属性的组件 Button Ext.Button 按钮 colorpalette Ext.ColorPalette 调色板 component Ext.Component 组件 container Ext.Container 容器
EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...
1. Ext.form.NumberField 2. Ext.form.TextArea 3. Ext.form.TriggerField 4. Ext.form.DateField 5. Ext.form.ComboBox 6. Ext.form.TimeField
Ext.data.Store的基本用法 Ext.data.Store的基本用法 Ext.data.Store的基本用法
org.restlet.ext.spring.jar
Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文
对EXT.form中的相关组件,进行了详细的说明!!!!!
extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题
运行Microsoft office时,vbe6ext.olb不能加载
Ext.get与Ext.fly的区别与用法
环境:Window XP Sp2、Tomcat 6.0、MyEclipse 5.5、Ext 3.2 使用步骤: 1、下载解压缩之后,使用IDE导入工程 2、在MyEclipse中启动服务器 ...如果一切正常,那么你可以看到...阅读对象:需要使用Ext框架进行Web开发的人员
Ext.window的一个扩展组件SuperWin.js.可灵活自主随意定位,和显示模式;
org.restlet.ext.servlet-2.1.1.jar
EXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rarEXT dojoChina按钮控件示例 Ext.Button.rar
Ext.js 3.0中文API和Ext.js中文教程打包下载
var reader = new Ext.data.JsonReader({totalProperty:'totalProperty',root:'root'},record); store = new Ext.data.Store({ proxy:proxy, reader:reader }); //尾 分页 var pagebar = new Ext....
8.4.4 状态管理:ext.state.manager、ext.state.provider、ext.state.local-storageprovider和ext.state.cookieprovider / 426 8.5 综合实例 / 426 8.5.1 使用子模板 / 426 8.5.2 递归调用模板 / 428 8.6 本章...
请与您的系统管理员联系。特定错误码是Ox7e。 点击确定之后就出现:无法初始化程序。 原因及解决方法: C:\Windows\System32\中缺少四个dll文件: iis.dll setupqry.dll imsinsnt.dll fp40ext.dll 下载后复制到目录...
com.noelios.restlet.ext.servlet_2.4.jar