formpanel布局的學習

2022-07-24 10:42:14 字數 1052 閱讀 1937

formpanel有兩種布局:form和column,form是縱向布局,column為橫向布局。預設為後者。使用layout屬性定義布局型別。對於乙個複雜的布局表單,最重要的是正確分割,分割結果直接決定布局能否順利實現。 如果不再使用預設布局,那麼我們必須為每乙個元素指定一種布局方式,另外,還必須遵循以下幾點:

落實到任何乙個表單元件後,最後總是form布局

defaulttype屬性不一定起作用,必須顯式為每乙個表單元件指定xtype或new出新物件

在column布局中,通過columnwidth可以指定列所佔寬度的百分比,如佔50%寬度為.5。

剖析出乙個合理的結構,像下面這樣

我們發現,布局其實是由行和列元件成,分成由左往右和由上往下兩個方向,由左往右 叫column,由上往下叫form。

整個大的表單是form布局,從上往下放置了五個小布局,在這裡我以行n標記,我們 以行1為例進行分析。行1從左往右有三個表單元件,所以是column布局,行1我們用結 構這樣定義: 

,{},{}] //items表示指定布局內的表單元件集合,在此有三個  }

行1內其實還有三個form布局,因為每個布局中只有乙個表單元件,所以看起來並不 那麼明顯,我們完全可以放置多個表單元件到布局中。每乙個布局使用下面的結構定義: 

] //只有乙個表單元件  }

上面的兩個結構最終要組裝到一起: 

]  },]  },]  }]  }

【以上文章**自:

另外還有一些在開發過程中遇到的問題:

表單的label和表單元件不在同一行。

解決辦法:formpanel配置項加labelalign: "left",

表單按鈕始終居右。

解決辦法:formpanel配置項加buttonalign: "left",

ExtJs監聽FormPanel的資料的更新情況

最近專案提出乙個新的需求 formpanel面板當前資料與初始資料不一致,在關閉這個面板之前,請提示使用者資料已經更新,是否需要儲存,關閉則丟失之前的配置資料,請確認。這個應該屬於使用者體驗友好性方面的需要 通過分析發現可以通過2個方法實現 1 監聽formpanel每個輸入框值的變化。下面我們實現...

27 FormPanel類的defaults屬性

defaults object defaults屬性可以包含任意個name value屬性對,這些屬性將會被新增到每乙個元素中.例如,為了自動向容器包含的每個ext.panel 元素的寬度新增width屬性,你應該傳遞 defaults 1 ext.onready function 6labelwi...

ext中FormPanel的檔案域操作

在ext中,formpanel的檔案域加乙個,可是你會發現,當你上傳了一張,在檔案域中,會有乙個檔案的位址,但有了這個位址後,如果你想用js把它的值清空掉,你會發現,用ext.getcmp picname setvalue 並不會報錯,但是沒有效果,不能把它清空。為了解決這個問題,我們需要這樣做。在...