常规功能和模块自定义系统 (cfcmms)—035开发日志(每个tab有各自模式window的备忘录)
2016-02-17 11:46
507 查看
035开发日志(每个tab有各自模式window的备忘录)
模式(modal)化的window在显示的时候会有一个遮罩面板,把整个界面遮住,不能够进行操作;在关闭window的时候,再把遮罩面板取消掉,恢复原来的可操作的方式。这是一般模式化window的用法。在QQ群里群友提出了一个给tabPanel的每个tab都可以分别建立模式化window的问题。在某个tab中有一个grid,他是用 renderTo: grid.el 来设置的。这样的问题就是 遮罩面板的范围也是全局的,在切换到另一个tab的时候,那一块区域还是不可操作。于是我在网上找了一下相关的文章,在 http://stackoverflow.com/questions/6428797/how-to-create-a-modal-window-which-only-masks-a-particular-component-in-extjs-4 中找到了相关的解决办法。
在模式化的window中不要加renderTo属性,在显示之前,把他加到grid中就可以了。
grid.add(window); window.show();这样每一个tab都可以有自己的模式窗口,在模式窗口没关闭之前,可以切换到其他tab,或者是进行系统的其他操作。
如下图所示:订单修改时,订单的tab中的grid的和导航将不能操作,而其他部分都是可以正常操作的。
好处:窗口可以手工拉伸到比tab大。在tab被切换掉后,window也会隐藏,切回来的时候,window会显示。
缺点:最大化窗口有问题,最大化成tab的大小,但是原点在页面的左上角。
存在问题:window没有关闭的时候,关闭“订单”tab,再次打开的订单的时候window是显示的,但是grid也是可以进行一次操作的。这就要在关闭每一个tab之间判断是否有模式窗口,有的话,则不允许关闭此tab,或者先将window关闭再关闭tab。
相关文章推荐
- lombok在IntelliJ IDEA下的使用
- srm 534
- UBUNTU在登录界面一闪就退出
- CSS字间隔与字母间隔在文本样式中
- 用jQuery实现全选、全不选、反选
- PS电商产品后期修图之充电宝金属质感的体现教程
- 微信支付的那些坑
- 本地Git仓库和远程仓库的创建及关联 Coding.net
- 工厂三兄弟——工厂方法模式
- NSDate
- VB.NET WinForm获取运行程序用户名
- git 合并 二进制文件
- Unity3d Android无法加载assetbundle的问题
- c++ char 运算
- tabbar ios
- 用JS获取地址栏参数的方法(超级简单)
- POJ 1330 Nearest Common Ancestors LCA题解
- iOS关于启动页自定义特殊处理
- 栈&队列&堆
- Java WebService 简单实例