登录
注册
关于我们
简体中文
ENGLISH
搜索
购物车
0 ITEMS ON YOUR CART
首页
动态
方案
案例
专栏
期刊
联系我们
首页
期刊
[Ext JS]说透Ext JS的窗口及对话框用法
Ext JS开发大全
第1章 Ext JS快速入门示例[4/4]
第12章[12.10]富文本编辑器 CKEditor与Ext JS的整合
第12章[12.10.1] Ext JS + CKEditor+Spring Boot 实现编辑器图片上传
第11章[11.6] Ext JS 自行搭建远端库的包升级版本后找不到的问题解决
[Ext JS 4] 实战之Grid, Tree Gird编辑
ext命令集
第12章[12.3] Ext JSGrid中的超链接列及其功能实现
[Ext JS]textfield添加compositionstart、compositionupdate 和compositionend _os
[Ext JS ] 动添切换字段的必填与非必填
3.1 Ext JS 组件总览
[Ext JS] Grid表格批量编辑的实现
Ext JS 快速开发工具
带触发器按钮的输入框
Ext JS的布尔对象类型处理及便捷方法
Ext JS的Object类型处理及便捷方法
ExtJS RadioGroup(单选按钮组) 使用及注意事项
Ext JS 模拟后端数据实现
ToolTip 实现全介绍
Ext JS下拉单选框(Combobox,TagFied)使用及疑难问题解决
Ext JS应用测试概览
Sencha Studio 监视工具( Inspect Tool)
Ext JS 4 升级指南
Ext JS 如何定义公用方法(单例类 or 静态方法)
Ext JS的模块化开发(Package)
Ext3 -- Form 实例。 用来migrate file 数据到DB用的
ExtJS 3 在Tab下加入Form 实例
Extjs Grid 中给已经添加过Filter的列增加标识
Extjs 实战之 Ext.tree.TreePanel Tree无法显示
Extjs弹出框的异步执行
Grid 动态该表列( reconfigure)的性能改善
Spring Boot Ext JS准前后端框架应用的会话(Session)处理
[Ext JS 4] Extjs 图表 Legend(图例)的分行与分列显示
[Ext JS 4] Extjs 之 initComponent 和 constructor的区别
[Ext JS 4] Grid 中的单元格添加Tooltip 的效果
[Ext JS 4] Grid 实战之分页功能
[Ext JS 4] Grid 组件
[Ext JS 4] MVC 应用程序框架
[Ext JS 4] MVC 应用程序框架
发布 [Ext JS 4] contentEL,renderTo, applyTo 释义与区别
[Ext JS 4] 动态加载
[Ext JS 4] 实战之 ComboBox 和 DateField (消失之解决办法)
[Ext JS 4] 实战之 Picker 和 Picker Field
[Ext JS 4] 实战之 带week(星期)的日期选择控件(二)
[Ext JS 4] 实战之 ComboBox 和 DateField 的点击事件在IE下失效
## [Ext JS 4] 实战之 带week(星期)的日期选择控件(三)
[Ext JS 4] 实战之 带week(星期)的日期选择控件
[Ext JS 4] 实战之Chart 坐标控制(单坐标,双坐标)
[Ext JS 4] 实战之Chart, Column Chart 定制颜色
[Ext JS 4] 实战之Grid, Tree Gird 动态添加列
[Ext JS 4] 实战之Grid, Tree Gird 动态添加列续(性能考虑)
[Ext JS 4] 实战之Grid, Tree Gird 动态添加行
[Ext JS 4] 实战之Grid, Tree Gird 添加按钮列
[Ext JS 4] 实战之Grid, Tree Gird编辑Cell
[Ext JS 4] 实战之Load Mask - 在Grid Reconfigure的使用状况
[Ext JS 4] 实战之Load Mask(加载遮罩)的显示与隐藏
[Ext JS 4] 实战之多选下拉单 (带checkbox) 续 - 带ALL 选项
[Ext JS 4] 实战之多选下拉单 (带checkbox)
[Ext JS 4] 实战之升级系列一[Ext jS 3-->Ext JS 4]
[Ext JS 4] 实战之将chart导出为png, jpg 格式的文件
[Ext JS 4] 实战之浏览器兼容
[Ext JS 4] 布局之实战二 - 中间区块不会自动伸展 (tab)续
[Ext JS 4] 组件之图表
[Ext JS 4]后台自动产生图档
[Ext JS 4]性能优化
[Ext JS 7 ]7.5 自适应配置 - Responsive Configs
[Ext JS 7] 关联(Association)
[Ext JS 7]事件(Event)
[Ext JS 7]ClassRequire错误解决
[Ext JS 7]的开发模式
[Ext JS 7]基于NPM的开发
[Ext JS ] 动添切换字段的必填与非必填
[Ext JS4] 数据包
[Ext JS4系列]Ext JS4 入门
[Ext JS6] Grid不同列的关联编辑
[Ext JS6] ViewControllers-视图控制器
[Ext JS6]Ext.Template
[Ext JS6]Sencha Cmd
[Ext JS6]编码规范
[Ext JS6]多类型设备开发
[Ext JS6]工作区-Workspace
[Ext JS6]路由(Routing)及使用
[Ext JS6]视图模型和数据绑定
[Ext JS6实战] Ajax获取Tree Store
[Ext JS6实战] Ext.XTemplate
[Ext JS6实战]动态数据绑定
[Ext JS] Sencha Cmd命令参考之二
[Ext JS] Sencha Cmd命令参考之一
[Ext JS] Group Grid-分组网格
[Ext JS] Group Grid-分组网格
[Ext JS]嵌套Grid的实现及注意事项
[Ext JS]SimXhr.js__dc=1659315492151_65 Uncaught TypeError问题分析与解决
[Ext JS]Sencha Studio安装与快速介绍之一
[Ext JS]textfield 添加 compositionstart、compositionupdate 和 compositionend
[Ext JS]图片显示方式
[ExtJS 6]Grid分页工具栏无效问题解决
[ExtJS6]ResponsiveColumn-自适应列布局
[Extjs 4] 类系统
基于Ext JS的模块化应用框架搭建及开发
[Ext JS] 自行搭建远端库的包升级版本后找不到的问题解决-The following versions are available
[Ext JS]鼠标移入移除时弹出和关闭窗口
[Ext JS]富文本编辑器 CKEditor与Ext JS的整合
[Ext JS]可编辑列Grid的全场景开发
['Ext JS]Grid中的超链接列及其功能实现
[Ext JS]Ext JS + CKEditor+Spring Boot 实现编辑器图片上传
[Ext JS]介绍与快速入门1
[Ext JS]实现带动态数字的图标
Spring Boot+Ext JS 实现图形验证码
Ext JS介绍与快速入门2
Ext JS开发基本环境准备与项目创建
[Ext JS]开发模式及快速测试方式
[Ext JS]多类型终端-电脑、移动端(手机、平板)
[Ext JS]基于Ext JS的MVC/MVVM架构的应用开发模式
[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]Grid行选择的多种场景和实现方式
[Ext JS]Ext JS类的继承与混合
CmsWing
[Ext JS]说透Ext JS的窗口及对话框用法
## 说透Ext JS的窗口及对话框用法 关于浏览器的窗口和对话框的基本介绍可以参考: ### HTML窗口与对话框 窗口类 Ext.window.Window Ext JS的窗口更类似于HTML的对话框, 但是Ext JS的窗口可以像一般的视图一样显示很复杂的内容。Ext JS 的组件类是Ext.window.Window , 继承自父类 Ext.panel.Panel, 也就是说Ext JS的窗口具备Panel所有的特性,除此之外, Ext JS的窗口也支持模态对话框。 ### 窗口的一般用法 窗口一般使用的示例代码如下: ```javascript Ext.create('Ext.window.Window', { title: 'Hello', height: 400, width: 600, // layout: 'fit', //窗口布局 items: [{ xtype:'component', html:'一个Component的组件' },{ //窗口子项定义 xtype: 'grid', title:'一个Grid', columns: [{ header: 'World' }], //不包含数据的Grid,只有一个标题列 store: Ext.create('Ext.data.ArrayStore', {}) // 定义一个空的Store }] }).show(); ``` 窗口类实例对象通过 Ext.create('Ext.window.Window') 或 new Ext.window.Window() 进行创建 窗口创建完成不会立即显示, 需要调用 show() 方法显示 关闭窗口有两个方法close() 和 destrory() , 推荐使用前者 以上代码显示的效果如下: ![](/upload/picture/2022-10-11/upload_5116e858a9ccc819de4a52daf7f1ecea.png) ### Ext.MessageBox 便捷的窗口静态类 按照以上方式定义窗口在只是简单的弹出一些提示窗口的场景下显得有点繁琐, 对照浏览器window对象的alert()、confirm()等便捷方法, Ext JS提供了一个用于快速实例窗口的静态类Ext.MessageBox, 该类下提供了一些静态方法,以alert() 为例。 Ext.MessageBox.alert('标题','提示消息'); alert() 方法接收两个参数: 第一个参数是窗口的标题 第二个参数是窗口中显示的信息 示例效果如下图: ![](/upload/picture/2022-10-11/upload_8ac7ad4d87aa03d521405e6242f9e31b.png) Ext.MessageBox 这个类还有一个简化的别名 Ext.Msg ,也就是上面的代码可以进一步简化为: Ext.Msg.alert('标题','提示消息'); ### Ext.Msg 常用显示窗口的方法 对应window对象的alert()、confirm() 和prompt() 方法, Ext.Msg提供了对应的方法 alert ( title, message, [fn], [scope] ) confirm ( title, message, [fn], [scope] ) 示例代码: ```javascript Ext.Msg.confirm('标题', '确认信息',function(id){ if(id=='yes'){ alert('点击了Yes按钮'); } }); ``` ![](/upload/picture/2022-10-11/upload_44af0a1bdaae87874a5e169a641ce2b7.png) prompt ( title, message, [fn], [scope], [multiline], [value] ) ![](/upload/picture/2022-10-11/upload_a576af513b252b915061db1adef1380f.png) ### Ext.Msg的通用方法 如果对弹出窗口有更对的设置,比如设置弹出框的图标和设置弹出框按钮的显示等, 可以使用show() 方法,该方法支持buttons和icon等配置, 这些配置属性在alert()等方法中是不支持的。 show() 方法的使用示例如下: ```javascript Ext.Msg.show({ title:'标题', message: '消息', buttons: Ext.Msg.YESNOCANCEL, icon: Ext.Msg.QUESTION, fn: function(btn) { if (btn === 'yes') { console.log('点击了Yes按钮'); } else if (btn === 'no') { console.log('点击了No按钮'); } else { console.log('点击了Cancel按钮'); } } }); ``` 也可以像创建一般Window实例的方式创建MessageBox, 示例代码如下: ```javascript Ext.create('Ext.window.MessageBox', { closeAction: 'destroy' //关闭窗口时销毁 }).show({ title: '标题', message: '消息' }); ``` ### show()方法的按钮及配置 alert方法仅提示一条信息,该类型窗口默认只有一个按钮,confirm和prompt 按钮需要有互动,confirm默认是Yes和No两个按钮, prompt 默认是OK和Cancel 两个按钮。以上的第三个参数是一个函数类型, 该函数的参数中可以获取点击的按钮以及用户的输入。以prompt 为例: ```javascript Ext.Msg.prompt('Name', 'Please enter your name:', function(btn, text){ if (btn == 'ok'){ // process text value and close... }}); ``` alert()等方法弹出的对话框的按钮是固定的,如果需要修改按钮显示的配置就需要使用show()方法,通过 buttons 属性可以配置窗口中需要的按钮, 这个属性配置Ext.Msg定义的一些静态变量,比如 Ext.Msg.OK, 配置代码示例如下: buttons: Ext.Msg.OK,。该变量对应的按钮配置是: OK : {text: 'OK', itemId: 'ok'} 类似的按钮配置的静态变量有: 单按钮 OK : {text: 'OK', itemId: 'ok'} YES : {text: 'Yes', itemId: 'yes'} NO :{text: 'No', itemId: 'no'} CANCEL: {text: 'Cancel', itemId: 'cancel'} 双按钮 OKCANCEL: [ {text: 'Cancel', itemId: 'cancel'}, {text: 'OK', itemId: 'ok'}] YESNO: [ {text: 'No', itemId: 'no'}, {text: 'Yes', itemId: 'yes'}] 三个按钮 YESNOCANCEL: [ {text: 'Cancel', itemId: 'cancel'}, {text: 'No', itemId: 'no'}, {text: 'Yes', itemId: 'yes'}] 这些变量对应的值是一个整数类型的值,比如OK的值1,所以直接配置数字也是可以的。 如果只想修改按钮的显示名称,可以使用buttonText属性配置。 buttons: Ext.Msg.YESCANCEL, buttonText:{ yes: '确认', cancel: '取消' }, ### 窗口的图标显示 窗口中显示图标 icon: Ext.Msg.QUESTION, Ext.Msg.QUESTION 是一个CSS样式,显示的效果是: ![](/upload/picture/2022-10-11/upload_647b47e6375177a7fc870f11fd0d3663.png) 可以配置的图标样式变量有: INFO Ext.baseCSSPrefix + 'msgbox-info' WARNING :Ext.baseCSSPrefix + 'msgbox-warning' QUESTION:Ext.baseCSSPrefix + 'msgbox-question' ERROR :Ext.baseCSSPrefix + 'msgbox-error' 本篇在线示例 https://osxm.github.io/extjs_dev_ency/#windowdemo
网站导航
首页
动态
方案
案例
专栏
期刊
联系我们