`
sp42
  • 浏览: 148749 次
  • 来自: Canton
文章分类
社区版块
存档分类
最新评论

ExtJS与状态保存

阅读更多
节选自作者的博客:

在我这个例子中,我将会记住tab面板显示的tab。由于这是常见的情形,我就扩展TabPanel定义一个新类:


Ext.ux.StatefulTabPanel = Ext.extend(Ext.TabPanel, {
 stateEvents: ['tabchange'],
 getState: function() {return{tab:this.getActiveTab().id}},
 applyState: function(state) {this.setActiveTab(state.tab);}
});


要配合运作,系统需要一个状态管理器(state manager),用于负责保存状态的数据。实际上系统内已有一个状态管理器在cookie中。如果你想保存在服务器上就另须一个别的状态管理器。按照我的经验我是比较倾向于使用浏览器的cookies来保存用户的机器的信息。这里我希望它存活的比默认的一天长:

Ext.state.Manager.setProvider(
 new Ext.state.CookieProvider({
  expires: new Date(new Date().getTime()+(1000*60*60*24*365)), //一年后
 }));



在开始位置的Ext.onReady函数中加上以上的代码。

处理过程不是太复杂,只需用到applyState()的方法。如果你只是需要保存某些现有的字段 可隐式调用applyState(学习疑问:重写便可?)。 本例中,根据键值activeTab来设置活动的tab:

Ext.ux.StatefulTabPanel = Ext.extend(Ext.TabPanel, {
 stateEvents: ['tabchange'],
 getState: function() {return{activeTab:this.getActiveTab().id}},
});


************
有意思的是,作者是一个拥有28年软件开发经验的50岁前辈!
分享到:
评论
1 楼 neoliao 2008-05-26  
好文,做个记号,下次有空再来学习

相关推荐

    包含各种类型的extjs小图标,Extjs4小图标

    - 图标通常分为不同的类别,如操作图标(比如加、减、编辑、保存等)、状态图标(如成功、警告、错误等)、导航图标(如箭头、返回、前进等)和通用图标(如文件、打印机、帮助等)。这些图标在ExtJS 4中被设计为可...

    extjs icon小图标

    这些图标可能涵盖了各种类别,如操作状态(如成功、警告、错误)、导航方向、编辑操作(如新建、删除、保存)、以及更多其他通用和特定业务场景的图标。 EasyUI 是基于jQuery的一个轻量级且易于使用的前端框架,它...

    extjs3 window窗口修改完退出提示是否保存

    本话题主要关注如何在EXTJS3的Window组件中实现一个功能:当用户在窗口内修改了数据后,关闭窗口时提示用户是否保存更改。未进行修改的情况下,窗口可以直接关闭,不显示任何提示。 首先,我们需要创建一个基本的...

    Extjs 关于 cookie的操作

    在 Web 开发中,Cookie 是一种常用的数据存储方式,用于保存用户的一些基本信息或者状态,从而实现网站的个性化设置或登录状态保持等功能。Extjs 作为一种强大的 JavaScript 框架,提供了对 Cookie 操作的支持,使得...

    ExtJs4 Checkbox tree

    当用户完成选择后,通常需要将选中的节点ID发送到服务器端进行保存或处理。这可以通过调用TreePanel的`getChecked()`方法获取选中节点,然后通过Ajax或其他方式提交数据。 以上就是关于ExtJs4 Checkbox Tree的关键...

    extjs图标大全

    在ExtJS中,图标通常与按钮、菜单项和其他UI元素关联,用于表示特定的功能或操作。这些图标可以通过CSS类名引用,每个类名对应一个预定义的SVG图像或者PNG图片。ExtJS提供了多种方式来设置图标的样式,包括`icon`, `...

    EXTJS 一个在线设计器,纯JS

    - **状态管理(State Management)**:EXTJS允许保存和恢复组件的状态,这对于在线设计器来说尤为重要,因为它需要记住用户的设计布局和设置。 - **Ajax和数据网格(Ajax & Data Grid)**:EXTJS内置的Ajax支持和...

    jSP+EXTJS实现upload

    5. **状态反馈**:在UploadDialog中显示上传进度和结果,可以使用EXTJS提供的事件监听机制来实时更新界面状态。 综合运用JSP和EXTJS,可以构建出功能强大且用户体验良好的文件上传系统。理解这两个技术的结合使用,...

    ExtJS Filter 实现表格过滤

    状态保存与恢复** 为了提高用户体验,可以实现过滤状态的保存与恢复,例如在页面刷新后能恢复之前的过滤条件。这可以通过`Ext.state.Provider`类来实现,保存用户设定的过滤器状态到cookie或服务器端。 ### 性能...

    extjs实现权限拦截

    在登录验证成功后,后端返回的权限信息可以通过ExtJS的数据绑定机制,更新UI元素的显示状态,如菜单、按钮等,实现动态权限展示。 5. **路由拦截** 在现代前端应用中,路由管理是关键。ExtJS的`Ext.Router`可以...

    ExtJS获取字段宽度顺序调整后的状态

    7. **状态持久化**:为了使用户设置的宽度和顺序状态在页面刷新或关闭后仍能保留,可以利用浏览器的本地存储(localStorage)或Cookie,或者通过Ajax发送请求将状态保存到服务器。 8. **复用状态**:在用户重新加载...

    web流程设计器extjs做的design

    - **数据绑定**:ExtJS的数据绑定机制使得流程图的状态能够与后端数据实时同步,方便保存和加载流程实例。 - **交互增强**:ExtJS的事件处理和动画效果使得流程设计器更易用且视觉效果出色。 - **响应式设计**:...

    extjs4.2更换主题

    当用户选择一个新的主题时,我们首先从 Cookie 中获取当前的主题,然后遍历菜单项,检查与所选主题对应的菜单项并将其设置为选中状态。此外,还需要实现 `changeTheme` 方法来实际更换主题,这涉及到修改 CSS 引用...

    轻松搞定Extjs

    本书通过详尽的内容安排,从预备知识到具体实践案例,全方位地介绍了Extjs的核心特性与开发技巧。 #### 准备与资源 在开始深入学习之前,了解如何准备开发环境至关重要。这包括了下载最新版本的Extjs库,以及解决...

    ExtJs3.4.0包,含大量样例

    8. **状态管理**:可以保存和恢复窗口和组件的状态,使得用户可以在下次访问时继续之前的操作。 9. **国际化支持**:提供多语言支持,可以轻松切换不同地区的语言环境。 10. **主题定制**:ExtJS允许开发者通过...

    5000个常用到extjs小图标

    EXTJS框架提供的图标类别广泛,涵盖了各种操作、状态和导航元素,如: 1. 操作图标:包括加减号、编辑、删除、保存、撤销、重做等。 2. 状态图标:显示信息、警告、错误、成功等状态。 3. 导航图标:箭头、返回、...

    5000个extjs小图标,真的非常的全面

    此外,这些图标还可以与其他ExtJS组件结合使用,如在`Ext.button.Button`中添加图标,提升按钮的辨识度。或者在`Ext.grid.column.Column`中使用图标作为列头图标,使得表格更具视觉吸引力。通过灵活运用这些图标,...

    Extjs的tree

    如果需要在页面刷新后保持用户的展开/折叠状态,可以使用`stateful`配置,并配合`stateId`来保存和恢复状态。 9. **性能优化** 对于大型数据集,可以使用分页和懒加载来提高性能。通过配置`loadMask`可以在数据...

    extjs 多文件上传

    在ExtJS中,这可以通过监听`XMLHttpRequest.upload.onprogress`事件实现,实时更新进度条的状态。 五、服务端处理 无论使用哪种方式,服务器端都需要相应的处理逻辑来接收并处理上传的文件。这通常涉及接收`...

    extjs实现jbpm工作流流程设计

    在设计过程中,EXTJS的图表组件如Ext.chart系列可以用来展示工作流状态和进度,而EXTJS的树形组件(Ext.tree.Panel)则适合用来表示流程的层次结构。例如,"zTreeStandard.gif"和"zTreeStandard.png"可能就是用于...

Global site tag (gtag.js) - Google Analytics