0
我想創建一個圓角邊緣的面板。我有圓形邊緣的圖像,主要是左上角,右上角,左下角,右下角。我也有一箇中心圖像,我可以使用CSS background-repeat
屬性在面板上傳播。我找不到任何直接的方法來做到這一點,所以我選擇擴展Ext.Panel
課程,並創建自己的只是看看感覺的變化。我選擇的方法是創建一個3行3列的表格。第一行將包含左上角,右上角和右上角圖像的佔位符,第二行將包含此面板中所有孩子將添加的中心區域,第三行將包含左下角,右下角和右下角圖像的佔位符。以下是我的面板的代碼。如何在ExtJS 2.1中創建圓角邊緣面板
Ext.namespace("Ext.nDisks");
Ext.nDisks.RoundedPanel = Ext.extend(Ext.Panel, {
// Rounded Panel code.
autoEl: {
tag: 'table', cls: 'rounded-panel-table',
children: [
{tag:'tr', id:'row0', children:[
{tag: 'td', id:'col00', cls:'ptl'},
{tag: 'td', id:'col01',cls:'pt'},
{tag: 'td', id:'col02',cls:'ptr'}
]},
{tag:'tr', id:'row1', children:[
{tag: 'td', id:'col10', cls:'center', colspan:'3'}
]},
{tag:'tr', id:'row2', children:[
{tag: 'td', id:'col20', cls:'pbl'},
{tag: 'td', id:'col21', cls:'pb'},
{tag: 'td', id:'col22', cls:'pbr'}
]}
]},
constructor: function(config) {
Ext.nDisks.RoundedPanel.superclass.constructor.call(this, config);
}
}
);
我對這個實現有幾個問題。
- 當我實例化這個類像
var roundedPanel = new Ext.myns.RoundedPanel();
它創建了一個table
元素分配給它的生成的ID(這是它應該做的),但在表中,它創建了tbody
沿div
元素。我如何擺脫這個不必要的div
元素。 - 當我向
RoundedPanel
添加任何組件時,它不會添加到表中,但會被添加到生成的div
元素中。如何將新元素添加到作爲主容器區域的表格的第二行。