【发布时间】:2014-12-17 18:08:03
【问题描述】:
在这里,我创建了简单的 extjs 代码,它可以动态生成手风琴项目。我使用了面板 + 布局(手风琴)。
我在这里发帖是因为,它可能对将来的某人有所帮助。我为此经历了很多测试用例,甚至我在谷歌上搜索但我找不到我的东西所以我阅读了 extjs API 然后我写了这个。
我的代码:
Ext.onReady(function() {
var mtButton = Ext.create('Ext.button.Button',{
text : 'Add child',
handler : function() {
var numItems = myPanel.items.getCount() + 1;
myPanel.add({
title : 'Child number ' + numItems,
height : 60,
frame : true,
collapsible : true,
collapsed : true,
html : 'asdf'
});
myPanel.doLayout();
}
});
var addAccordion = function(panel){
for (var i = 1; i <= 3; i++) {
console.log(i);
panel.add({
title : 'Child number ' + i,
height : 60,
frame : true,
collapsible : true,
collapsed : true,
html : 'Demo for ' + i
});
}
};
var myPanel = Ext.create('Ext.panel.Panel', {
title: 'Accordion Layout',
width: 300,
height: 300,
renderTo: Ext.getBody(),
defaults: {
// applied to each contained panel
bodyStyle: 'padding:15px'
},
layout: {
// layout-specific configs go here
type: 'accordion',
titleCollapse: false,
animate: true,
activeOnTop: true
},
items : [],
tbar : [mtButton],
listeners: {
afterrender:addAccordion
}
});
});
我对 extjs 知之甚少。所以,我的问题是:这是正确的做法吗?还是有别的办法?
如果我想要 json 文件中的项目怎么办?有可能吗?怎么样?
提前致谢!
【问题讨论】:
标签: extjs layout dynamic accordion panel