extjs动态地将项添加到行中的formpanel

时间:2012-08-22 10:05:01

标签: javascript extjs3 form-layout

使用ExtJS 3.4 - 我有一个formpanel连续排列三个按钮。我认为正确的方法是嵌套项目块,代码显示我在做什么。

var myPanel = new Ext.form.FormPanel({
    id:'myPanel',
    height:300,
    width: 800,
    items:[{
        layout : 'column' ,border:false,buttonAlign : 'left', bodyStyle : 'padding:15px 20px 0',
        items:[{
                      layout:'column' , border:false,  
                      items:[saveSelectedButton, deleteSelectedButton, cancelButton ]
               }]
      }]


});

我真正需要做的是动态添加按钮,以便在第一次items:[]时项目块为空,然后我调用

myPanel.add(saveSelectedButton, deleteSelectedButton, cancelButton);

但是按钮会在列中呈现,有任何建议吗?

1 个答案:

答案 0 :(得分:0)

使用buttons代替items是更优选的方式。

var myPanel = new Ext.form.FormPanel({
// ... 
    buttons:[saveSelectedButton, deleteSelectedButton, cancelButton]  
});

要动态添加它们,您应该使用addButton方法。 E.g。

var form = new Ext.form.FormPanel({
        title: 'Test',
        el: 'test',
        url: '',
        method: '',
        items: [{}],
        buttons: [{}]
    });
    form.addButton({
        text: 'Test Button',
        id: 'test-button',
        type: 'submit'
    });
    form.render();