ExtJS 4.2 組件介紹

来源:http://www.cnblogs.com/polk6/archive/2016/09/01/5771174.html
-Advertisement-
Play Games

ExtJS的強大功能之一是提供了非常豐富的組件,包括grid(表格)、panel(面板)、form(表單)、button(按鈕)、progressBar(進度條)等等。 一個的ExtJS 4應用程式的UI界面,就是由一個或多個組件組成。 這裡將會介紹組件的分類、名稱、結構以及創建方式。 ...


目錄

1. 介紹

  1.1 說明

  1.2 組件分類

  1.3 組件名稱

  1.4 組件結構

2. 組件的創建方式

  2.1 Ext.create()創建

  2.2 xtype創建

 

1. 介紹

1.1 說明

ExtJS的強大功能之一是提供了非常豐富的組件,包括grid(表格)、panel(面板)、form(表單)、button(按鈕)、progressBar(進度條)等等。

一個的ExtJS 4應用程式的UI界面,就是由一個或多個組件組成。

這裡將會介紹組件的分類、名稱、結構以及創建方式。

 

1.2 組件分類

按照組件展現形式,ExtJS 4.2的組件大概分為以下幾類:

1) 容器:容器是一種特殊類型的組件,可以包含其他容器或組件,並制定子組件的大小和位置。ExtJS佈局中的層次結構就是容器嵌套容器、容器嵌套組件的方式層層嵌套。包括的容器有:form(表單)、panel(面板)、tab(Tab標簽)、viewport(自適應視窗)、window(視窗)等等。

2) 表單組件:指適用於form(表單)容器的子組件,包括:Checkbox、ComboBox、Date Field,、HTML Editor,、Label、Text Field等等。

3) 菜單和工具欄菜單工具欄常常一起使用,菜單包括的組件有:CheckItem(切換覆選框)、ColorPicker(顏色選擇器)、DatePicker(日期選擇器)等。

4) 圖表:實現數據的可視化。包括的組件有:Area(堆疊區域圖)、Bar(條形圖)、Column(柱狀圖)、Gauge(儀錶圖)、Line(線圖)、Pie(餅圖)、Radar(雷達圖)、Scatter(散點圖)。

5) 其他:除了上述分類外,還有一些零散的單獨組件。如:button(按鈕)、progressBar(進度條)、single(滑動條)等等。

 

1.3 組件名稱

想調用組件,就需要知道組件的名字;在ExtJS中組件包含ClassName和xtype兩種名字。

Class :類名;ExtJS採用命名空間的方式定義了所有的類,其中也包括了組件。如form(表單)的Class為Ext.form.Panel,表示Ext → form 命名空間下的Panel組件。

xtype :每個組件有一個名為'xtype'的符號名,也可理解為組件的簡稱,並且組件的'xtype'為全局唯一性。如Ext.panel.Panel的xtype為panel;Ext.form.Panel的xtype為form。

部分組件class和xtype列表

 

類型

Class  (點擊查看具體API)

xtype 備註
容器  Ext.container.Container  container  基本容器
 Ext.container.Viewport  viewport  自適應視窗
 Ext.form.Panel  form  表單
 Ext.menu.Menu  menu  菜單
 Ext.panel.Panel  panel  面板
 Ext.grid.Panel  gridpanel、 grid  網格面板
 Ext.panel.Table  tablepanel  表格面板
 Ext.tab.Panel  tabpanel  Tab選項卡面板
 Ext.toolbar.Toolbar  toolbar  工具欄
 Ext.tree.Panel  treepanel  樹形結構面板
 Ext.window.Window  window  視窗
       
表單  Ext.form.Panel  form  表單
 Ext.form.field.Checkbox  checkboxfield、checkbox  覆選框
 Ext.form.field.ComboBox  combobox、combo  Combo選擇器
 Ext.form.field.Date  datefield  日期選擇器
 Ext.form.field.Display  displayfield  只讀文本欄位
 Ext.form.field.File  filefield、fileuploadfield  文件上傳
 Ext.form.field.Hidden  hiddenfield、hidden  隱藏項
 Ext.form.field.HtmlEditor  htmleditor  Html編輯組件
 Ext.form.field.Number  numberfield  數字文本輸入框
 Ext.form.field.Radio  radiofield、radio  單選框
 Ext.form.field.Text  textfield  文本輸入框
 Ext.form.field.TextArea  textareafield、textarea  多行文本輸入框
 Ext.form.field.Time  timefield  時間選擇器
       
工具欄  Ext.toolbar.Toolbar  toolbar  工具欄
 Ext.toolbar.Fill  tbfill  右對齊分隔符
 Ext.toolbar.Paging  pagingtoolbar  分頁工具欄
 Ext.toolbar.Separator  tbseparator  垂直分隔符
 Ext.toolbar.Spacer  tbspacer  空白分隔符
       
菜單  Ext.menu.Menu  menu  菜單容器,可包含菜單組件、其他組件
 Ext.menu.CheckItem  menucheckitem  切換覆選框
 Ext.menu.ColorPicker  colormenu  顏色選擇器
 Ext.menu.DatePicker  datemenu  日期選擇器
 Ext.menu.Separator  menuseparator  分隔符
       
其他  Ext.button.Button  button  普通按鈕
 Ext.ProgressBar  progressbar  進度條
 Ext.slider.Slider  slider、sliderfield  滑動條

 

1.4 組件結構

組件分類中的容器、form欄位、工具條、菜單等都有各自一套的層次結構,也可理解為組件的繼承關係。

如Ext.form.Panel(表單)的繼承關係如下:

此處可得知 

① Ext.form.Panel(表單) 繼承自 Ext.panel.Panel(面板);

② Ext.panel.Panel(面板) 繼承自 Ext.container.Container(容器基類);

③ Ext.container.Container(容器基類) 繼承自 Ext.Component(組件記錄);

 

容器的層次結構:

 

2. 組件的創建方式

組件的創建主要分2種:

1) 一種是通過Ext.create()方法直接創建組件的實例。

2) 通過組件的xtype來配置組件。

 

2.1 Ext.create(name, [config]) :返回所創建的組件實例

參數

①name {string} :組件的class全名、別名或備用名。

②config {object} 可選:創建組件時的配置信息;如組件的高度、寬度、標題等信息。

返回值

{object} 返回組件的實例。

示例

// 以下三種返回的結果一樣

// 備用名
var window = Ext.create('Ext.Window', {
    width: 600,
    height: 800,
    ...
});

// 完整的類名
var window = Ext.create('Ext.window.Window', {
    width: 600,
    height: 800,
    ...
});

 // 別名
var window = Ext.create('widget.window', {
    width: 600,
    height: 800,
    ...
});

 

2.2 直接通過xtype配置

可在容器的items屬性中,使用xtype配置子組件,而不採用 Ext.create() 方法。

如在一個Tab標簽容器包含2個子標簽頁,2個子標簽頁可以通過xtype來配置:

Ext.create('Ext.tab.Panel', {
    renderTo: Ext.getBody(),
    height: 100,
    width: 200,
    items: [
        { xtype: 'panel',title: 'TabA',html: 'The tab A'},
        { xtype: 'panel',title: 'TabB',html: 'The tab B'},
    ]
});

// 等同於

Ext.create('Ext.tab.Panel', {
    renderTo: Ext.getBody(),
    height: 100,
    width: 200,
    items: [
        Ext.create('Ext.panel.Panel', {
            title: 'TabA',
            html: 'The tab A'
        }),
        Ext.create('Ext.panel.Panel', {
            title: 'TabB',
            html: 'The tab B'
        }),
    ]
});

 

==================================系列文章==========================================

本篇文章:7.3  ExtJS 4.2 組件介紹

Web開發之路系列文章

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 閉包 就是指一個有權訪問另外一個函數作用域中的變數的函數。 《JavaScript高級程式第三版》 本人對於閉包初次的認識就來自《高三》,首先僅僅通過 “有權”’ 兩個字我們便可以進一步推斷出。在正常情況下,一個函數是 “無權” 訪問另外一個函數的作用域中的變數。 一、什麼是變數 因此在淺談 閉包 ...
  • ng-grid是基於AngularJS和JQuery的富表格控制項,由AngularUI Team領銜開發,到目前為止已有2354次Commit,1076個Fork。 AngualrUI:http://angular-ui.github.io/ ng-grid: http://angular-ui.g ...
  • 遞歸函數大家都應該比較熟吧?那麼,如何在JavaScript中書寫一個完美的遞歸函數呢?且聽我娓娓道來。 遞歸函數 寫的時候,查了一下維基百科對遞歸函數的定義,恕我愚鈍,簡直太深奧了!所以,我還是簡單的說說我對遞歸函數的理解吧。遞歸函數,說白了就是在函數內部引用函數自身,最終到給定的遞歸結束條件時回 ...
  • 一.簡介 jQuery 庫可以通過一行簡單的標記被添加到網頁中 jQuery 是一個 JavaScript 函數庫。 jQuery 庫包含以下特性: HTML 元素選取 HTML 元素操作 CSS 操作 HTML 事件函數 JavaScript 特效和動畫 HTML DOM 遍歷和修改 AJAX U ...
  • JavaScript數組是一種特殊類型的對象。 JavaScript數組元素可以為任意類型,最大容納232 1個元素。 JavaScript數組是動態的,有新元素添加時,自動更新length屬性。 JavaScript數組元素索引可以是不連續的,它們之間可以有空缺。 1.創建數組 調用構造函數Arr ...
  • ali.js是一款滾動插件,滾動的內容可包含文字和圖片。它的API也很強大,包括滾動區域可見個數、每次滾動個數、滾動方向、是否迴圈滾動、是否自動滾動、滾動間隔時間、滾動動畫速度、動畫效果、滾動方向以及開始滾動索引。 線上實例 實例演示 使用方法 參數詳解 下載 ...
  • Node.js 引入了模塊(Module)概念,一個模塊可以通過module.exports 或 exports 將函數、變數等導出,以使其它 JavaScript 腳本通過require() 函數引入並使用。 module.exports 初始值為一個空對象 {},所以 exports 初始值也是 ...
  • [1]滾動寬高 [2]頁面尺寸 [3]滾動長度 [4]頁面滾動 [5]滾動方法 [6]滾動事件 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...