我有一个应用程序,我必须在单个页面上重复一个自定义组件,说200次,并保存每个组件的引用。我尝试使用for循环来添加它,但是这样做会给我一个脚本错误。有没有其他方法可以在extjs中重复使用自定义组件? 这是我使用的代码。在extjs中重复一个自定义元素
Ext.application({
requires: ['Ext.container.Viewport'],
name: 'Excel',
launch: function() {
Ext.define('ExcelCell',{
extend: 'Ext.panel.Panel',
itemcls: 'excelCell',
height: 20,
width: 64
});
var port = Ext.create('Ext.container.Viewport', {
layout: 'absolute'
});
var totalRowsToDraw = port.height/20;
var totalColumnsToDraw = port.width/64;
var cellDictionary = new Object();
var cell;
for(var r=0; r < totalRowsToDraw ;r++){
for(var c=0; c < totalColumnsToDraw ;c++){
cell = Ext.create('ExcelCell');
cell.x = c*64;
cell.y = r*20;
port.add(cell);
cellDictionary[r+','+c] = cell;
}
}
}
});
而且我的CSS代码是
.excelCell{
padding-bottom: 0;
padding-left: 0;
padding-right: 0;
padding-top: 0;
border: 1;
border-style: solid;
border-color: #B7BABC;
background-color: #000000;
}
工作正常:http://jsfiddle.net/XGdu9/(但我认为你更喜欢使用'XTemplate'或'容器'或'盒'代替面板') –
当我使用Hbox或Vbox我没有得到边界只为面板我正在获取围绕单元格的边框。我是ExtJs的新手,所以我没有深入的知识为什么会发生这种情况。 – Ashok