一、写一个按钮

  注意id

  1. {
  2. id: 'ListEdit',
  3. text:'编辑',
  4. iconCls:'x-fa fa-edit'
  5. }

二、写新建的页面

  下面我新建的是表单,有几点需要注意的:

  ① 因为表单是多列的,所以layout用了column(自己试的,不一定是最好的写法);如果只有一列,layout用form。

  ② name可以忽略,combo只是有个样子。

  1. Ext.define('report.view.system.organization.ListEdit',{
  2. extend:'Ext.form.FormPanel',
  3. xtype:'ListEdit',
  4.  
  5. layout:'column',
  6. defaults:{
  7. style:'float:left;margin:4px;',
  8. columnWidth: 0.48
  9. },
  10.   //layout:'form',
  11. defaultType:'textfield',
  12. fieldDefaults:{
  13. labelAlign:'right',
  14. labelWidth:84
  15. },
  16.  
  17. items:[
  18. {
  19. fieldLabel: '上级编码',
  20. xtype: 'combo',
  21. name: 'user',
  22. emptyText: '仓库',
  23. },
  24. {
  25. fieldLabel: '状态',
  26. xtype: 'combo',
  27. name: 'user',
  28. emptyText: '有效',
  29. },
  30. {
  31. fieldLabel: '组织架构编码',
  32. name: 'user',
  33. },
  34. {
  35. fieldLabel: '组织架构名称',
  36. name: 'user',
  37. },
  38. {
  39. fieldLabel: '联系人',
  40. name: 'user',
  41. },
  42. {
  43. fieldLabel: '联系方式',
  44. name: 'user',
  45. },
  46. {
  47. fieldLabel: '服务器IP',
  48. name: 'user',
  49. },
  50. {
  51. fieldLabel: '数据库名',
  52. name: 'user',
  53. },
  54. {
  55. fieldLabel: '登录名',
  56. name: 'user',
  57. },
  58. {
  59. fieldLabel: '密码',
  60. name: 'user',
  61. },
  62. {
  63. fieldLabel: '地址',
  64. name: 'user',
  65. columnWidth: 0.96
  66. },
  67. {
  68. fieldLabel: '备注',
  69. name: 'user',
  70. columnWidth: 0.96
  71. }
  72. ]
  73. })

三、写controller

  1、获取页面,并添加保存和关闭的按钮

  1.     var editForm = new Ext.create('report.view.system.organization.ListEdit',{
  2. buttons:[
  3. {
  4. text:'保存',
  5. },
  6. {
  7. text:'关闭',
  8. handler:function(){
  9. EditWin.hide();
  10. }
  11. }
  12. ]
  13. });

  2、通过id获取到编辑按钮,并给它添加点击事件

  1.      var editBtn = Ext.ComponentManager.get('ListEdit');
  2.  
  3. editBtn.on('click', ListEdit);
  4. function ListEdit() {
  5. editForm.form.reset();
  6. EditWin.show();
  7. }

  3、设置新增窗口

  1.     var EditWin = new Ext.Window({
  2. title:'编辑组织架构',
  3. modal: true,//遮罩层
  4. width:480,
  5. closeAction:'hide',//若不写这个,x只能点一次,然后就没有然后了
  6. resizable: false,//默认是true
  7. plain: true,
  8. //buttonAlign: 'center',
  9. items: editForm
  10. })

  *controller全部代码

  1. Ext.define('report.controller.system.organization.OrganizationController', {
  2. extend: 'Ext.app.ViewController',
  3.  
  4. alias: 'controller.Organization',
  5.  
  6. init:function(){
  7. // *********新建**********
  8. var editForm = new Ext.create('report.view.system.organization.ListEdit',{
  9. buttons:[
  10. {
  11. text:'保存',
  12. },
  13. {
  14. text:'关闭',
  15. handler:function(){
  16. EditWin.hide();
  17. }
  18. }
  19. ]
  20. });
  21. //获取到这个按钮
  22. var editBtn = Ext.ComponentManager.get('ListEdit');
  23. //修改按钮点击事件
  24. editBtn.on('click', ListEdit);
  25.  
  26. //添加按钮单击事件
  27. function ListEdit() {
  28. editForm.form.reset();
  29. EditWin.show();
  30. }
  31. //新增窗口
  32. var EditWin = new Ext.Window({
  33. title:'编辑组织架构',
  34. modal: true,//遮罩层
  35. width:480,
  36. closeAction:'hide',//若不写这个,x只能点一次,然后就没有然后了
  37. resizable: false,//默认是true
  38. plain: true,
  39. //buttonAlign: 'center',
  40. items: editForm
  41. })
  42. }
  43. });

四、引用controller

最后在页面引用controller

  1. controller: 'Organization',

完。

用extjs6.0写一个点击新建窗口的功能的更多相关文章

  1. Extjs6(二)——用extjs6.0写一个系统登录及注销

    本文基于ext-6.0.0 一.写login页 1.在view文件夹中创建login文件夹,在login中创建文件login.js和loginController.js(login.js放在class ...

  2. Extjs6(三)——用extjs6.0写一个简单页面

    本文基于ext-6.0.0 一.关于border布局 在用ext做项目的过程中,最常用到的一种布局就是border布局,现在要写的这个简单页面也是运用border布局来做.border布局将页面分为五 ...

  3. 从0写一个Golang日志处理包

    WHY 日志概述 日志几乎是每个实际的软件项目从开发到最后实际运行过程中都必不可少的东西.它对于查看代码运行流程,记录发生的事情等方面都是很重要的. 一个好的日志系统应当能准确地记录需要记录的信息,同 ...

  4. 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。

    写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复.邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母.小写字母.数字和特殊字符 和上一期一样 代码中间有段比较混沌 有 ...

  5. 基于vue框架手写一个notify插件,实现通知功能

    简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...

  6. 使用TypeScript给Vue 3.0写一个指令实现组件拖拽

    最近在用vue3重构后台的一个功能.一个弹窗组件,弹出一个表单.然后点击提交. 早上运维突然跑过来问我,为啥弹窗挡住了下边的表格的数据,我添加的时候,都没法对照表格来看了.你必须给我解决一下. 我参考 ...

  7. 汇编入门——使用DOSBox写一个HelloWorld以及相关软件安装

    0.0.0) 在D盘建立一个ASM文件夹 0.0.1) 放入所需要的文件 1所标示的红色框为必须要存在的文件,要处理汇编文件.百度网盘中下载. 2自己编写的汇编(asm)文件. 3编译汇编自己生成的文 ...

  8. 12.源码分析—如何为SOFARPC写一个序列化?

    SOFARPC源码解析系列: 1. 源码分析---SOFARPC可扩展的机制SPI 2. 源码分析---SOFARPC客户端服务引用 3. 源码分析---SOFARPC客户端服务调用 4. 源码分析- ...

  9. 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

    分布式系统中的RPC请求经常出现乱序的情况.  写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:  1 ...

随机推荐

  1. .NET学习路线图

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 你可以通过百度云盘下载.NET学习路线图相关视频资源 链接: http://pan.baidu.com/s/1pL2gCK7 密码: ...

  2. Struts2中Action配置的三种方式

    <!-- 方案一:一个action对应一个方法; --> <action name="add" class="com.gxxy.struts.kp03_ ...

  3. Lowest Common Ancestor of a Binary Tree leetcode

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  4. 1602: [Usaco2008 Oct]牧场行走

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1211  Solved: 616 [Submit][ ...

  5. html5常用英语单词

    Aabsolute 绝对active 激活的align 对齐alpha 半透明度animation 卡通片绘制auto 自动aside 偏栏 Bbackground 背景bgcolor 背景颜色blo ...

  6. 使用Nginx+CppCMS构建高效Web应用服务器

    使用Nginx+CppCMS构建高效Web应用服务器 1:Why当前,越来越多的网站使用了各种框架,大部分框架使用了脚本语言.半编译语言等.比如Java.Python.Php.C#.NET等.这些框架 ...

  7. Bootstrap 组件之 Navbar

    一.简介 Navbar 指导航条,它在移动设备上显示为折叠状态,在宽屏幕上水平展开.这里 是一个线上例子. 响应式导航条依赖 collapse 插件,定制 Bootstrap 时务必要包含. {设备的 ...

  8. 关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法

    系统环境:centos 下午使用npm安装"cheerio",想搞爬虫玩玩. npm安装有两种模式: 本地 # npm install cheerio 全局 # npm insta ...

  9. SaaS模式应用之多租户系统开发(单数据库多Schema设计)

    SaaS是Software-as-a-Service(软件即服务)的简称,这边具体的解释不介绍. 多租户的系统可以应用这种模式的思想,将思想融入到系统的设计之中. 一.多租户的系统,目前在数据库存储上 ...

  10. iOS开发之自定义弹出的键盘

    self.inputField.inputView = myView 按文本框弹出的键盘不再是普通文字输入键盘,而是我们设置的myView.一般把这个方法写在viewDiLoad方法中. 也可以在键盘 ...