2011-07-11 50 views
0

我很難讀取extjs文檔。到目前爲止,我在extjs中完成了一些成功的項目,但我仍然很努力地閱讀文檔。它看起來是用命令式的風格編寫的,但所有的例子都希望聲明式的語法。例如,如果我要向TabPanel添加一個選項卡,我希望在文檔中看到一個名爲addTab的函數,它採用一個選項卡名稱和麪板,就像我使用的大多數其他UI庫的行爲一樣(如Qt或Swing)。相反,我看到一個函數,如add,它需要一個值的字典,這似乎並沒有記錄在文檔本身。聲明性語法的extjs文檔

在ExtJS的示例文檔3爲的TabPanel:

var tb = new Ext.Toolbar(); 
tb.render(document.body); // toolbar is rendered 
tb.add({text:'Button 1'}); // add multiple items (defaultType for Toolbar is 'button') 
tb.add({text:'Button 2'}); 
tb.doLayout();    // refresh the layout 

在這個例子中,其中是text參數記錄?我見過添加items字段的示例,我之前使用過這個字段,但如果我只想添加現有的面板,該怎麼辦?我認爲這是其他一些關鍵字,對吧?這些東西在哪裏記錄?

回答

1

通過add()提供的是一個組件配置(或者組件的實例,如果有的話)。 「默認類型是按鈕」意味着,默認情況下,它會將您的配置(您通過在{}之間添加的內容)視爲按鈕配置,除非您通過xtype屬性指定其他內容。

在這種情況下 tb.add({text:'Button 1'});

所以,知道什麼text手段,你需要看一下按鈕的文檔(配置部分)

+0

AMOL是當場上。也許值得一提的是,tb.add({test:'Button 1'})的例子是'等價'(就最終目的地而言,這裏的旅程有點不同,因爲它使用了xtypes ...) tb.add(new Ext.Button({text:'Button 1'}));這是更明確的定義它的方式。 – Stuart

+0

這有點幫助,但是如果我想添加現有元素,例如?如果您還不知道使用哪個關鍵字從代碼的其他部分添加現有面板,那麼您會如何看待它? – voodoogiant