ExtJs笔记 (二)概念


e.g.

<html>
   <head>
    <link href="./ext-6.0.0/build/classic/theme-classic/resources/theme-classic-all.css" rel="stylesheet">
    <script src="./ext-6.0.0/build/ext-all.js"></script>
      <script type="text/javascript">
         Ext.onReady(function() {
         Ext.create('Ext.Panel', {
            renderTo: 'helloWorldPanel',
            height: 200,
            width: 600,
            title: 'Hello world',
            html: 'First Ext JS Hello World Program'
            });
         });
      </script>
   </head>
   <body>
      <div id="helloWorldPanel" />
   </body>
</html>
  1. Ext.onReady()方法将在Ext JS准备好渲染Ext JS元素时调用。
  2. Ext.create()方法用于在Ext JS中创建对象,这里我们创建一个简单的面板类Ext.Panel的对象。
  3. Ext.Panel是Ext JS中用于创建面板的预定义类
  4. 每个Ext JS类都有不同的属性来执行一些基本的功能

Ext.Panel类有以下各种属性:

  • renderTo 是此面板必须呈现的元素。 'helloWorldPanel’是Index.html文件中的div id
  • Height 和宽度属性用于提供面板的自定义尺寸
  • Title 属性是为面板提供标题
  • Html 属性是要在面板中显示的html内容

一、Class 系统

Ext.define()用于在 Ext JS 中定义类(Ext 提供了 300 多个类)。

Ext.define(class name, class members/properties, callback function);
//1.类名称: appName.folderName.ClassName
//2.类属性/成员: 定义类的行为
//3.回调函数: 可选

e.g.

Ext.define(studentApp.view.StudentDeatilsGrid, {
   extend : 'Ext.grid.GridPanel',
   id : 'studentsDetailsGrid',
   store : 'StudentsDetailsGridStore',
   renderTo : 'studentsDetailsRenderDiv',
   layout : 'fit',
   columns : [{
      text : 'Student Name',
      dataIndex : 'studentName'
   },{
      text : 'ID',
      dataIndex : 'studentId'
   },{
      text : 'Department',
      dataIndex : 'department'
   }]
});

1. 在ext创建对象:

  1. new
var studentObject = new student();
studentObject.getStudentName();
  1. Ext.define()
Ext.create('Ext.Panel', {
   renderTo : 'helloWorldPanel',
   height : 100,
   width : 100,
   title : 'Hello world',
   html : 	'First Ext JS Hello World Program'		
});

2. 在ext继承:

  1. Ext.extend
Ext.define(studentApp.view.StudentDetailsGrid, {
   extend : 'Ext.grid.GridPanel',
   ...
});

自定义类 StudentDetailsGrid 使用 Ext JS 类 GridPanel 的基本功能

  1. Mixins
    Mixins 是在没有扩展的情况下在类 B 中使用类 A 的不同方式
mixins : {
   commons : 'DepartmentApp.utils.DepartmentUtils'
},

Mixins 添加在控制器中,声明所有其他类,如存储,视图等。
(在这种方式,可以调用 DepartmentUtils 类,并在控制器或在这个应用程序中使用其功能。)

二、容器 container

容器是我们可以添加其他容器或子组件的组件。
可以具有多个布局以将部件布置在容器中,可以从容器和其子元素添加或删除组件。

Ext.container.Container是Ext JS中所有容器的基类。

有各种类型的容器Ext.panel.PanelExt.form.Panel
Ext.tab.PanelExt.container.Viewport是Ext JS中经常使用的容器。

三、布局

布局是元素在容器中排列的方式。
可以是水平的,垂直的或任何其他,也可以编写自定义布局。

layoutdesc
Auto默认布局,基于元素的数量
Absolute允许使用容器中的XY坐标定位项目。
Accordion允许将所有项目以堆栈方式(一个在另一个之上)放在容器内
Anchor相对于容器大小给出每个元素的大小
Border各种面板嵌套并由边界分隔
Card(TabPanel)以制表符方式排列不同的组件。 选项卡将显示在容器的顶部。每次只有一个选项卡可见,每个选项卡被视为不同的组件
Card(Wizard)每次元素来到完整的容器空间。 向导中将有一个底部工具栏用于导航
Column在容器中显示多个列,可以定义列的固定宽度或百分比宽度
Fit容器用单个面板填充,(当没有特定要求时,使用该布局)
Table以HTML表格式在容器中排列组件
vBox元素以垂直方式分布。 这是最常用的布局之一。
hBox元素以水平方式分布

四、组件

ExtJS的UI由一个或多个名为Components.Ext的widget组成
Grid,Form,Message Box,Chart,Tool tip, Window,HTML editor,Progress bar

五、拖放

拖动操作基本上是在某些UI元素上的点击手势,同时按住鼠标按钮并移动鼠标。 在拖动操作后释放鼠标按钮时,会发生放置操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值