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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...