如何动态地将新的折叠面板添加到Ext中的Accordion?

时间:2010-10-21 18:06:34

标签: javascript layout dynamic extjs

我在ExtJS中有一个Accordion,我想动态添加新面板。 小组出现时需要折叠。 我现在的代码将创建面板,但每个面板中的HTML都不会显示。

var loadoutput = new Ext.Panel({
 title: 'Log',
 renderTo: 'logout',
 layout: 'accordion',
 defaults: {
  bodyStyle: 'padding:10px',
  collapsed: true
 },
 layoutConfig: {
  fill: true,
  animate: true
 }
});

function logOutput(_title, _html) {
 temp = new Ext.Panel();
 temp.title = _title;
 temp.html = _html;
 temp.collapsed = true;
 loadoutput.items.add(temp);
 loadoutput.doLayout();
}

 logOutput("Well, that was interesting", "Dude, what's up? <br/>Hey hey hey<br/>AAAAAH.");
 logOutput("Hello", "Dude, what's up? <br/>Hey hey hey<br/>AAAAAH.");
 logOutput("What?", "Dude, what's up? <br/>Hey hey hey<br/>AAAAAH.");
 logOutput("Cat", "Dude, what's up? <br/>Hey hey hey<br/>AAAAAH.");

2 个答案:

答案 0 :(得分:0)

我认为问题在于您正在使用“items”添加方法(它是Ext.util.MixedCollection)而不是Ext.Panel添加方法。

试试这个:

loadoutput.add(temp);

答案 1 :(得分:0)

所以,这段代码在上面工作。 items.add或添加两个工作。一个问题是boxMinHeight。需要手动设置我猜。