Extjs 4 : 单击按钮时将动态字段添加到表单中



我有一个包含项目的表单,并按下"添加"以将字段动态添加到表单中(复制第一个字段)。链接到按钮的功能来执行此操作这是我的代码:

     var form new Ext.form.FormPanel({
            items           : [{
                xtype: 'fieldcontainer',
                combineErrors: true,
                msgTarget : 'side',
                layout: 'hbox',
                items: [{
                    xtype       : 'displayfield',
                    margin      : '0 10 0 0'
                },{
                    xtype       : 'button',
                    text        : 'select'
                }]
            }]
            ,buttons: [{
              text    : 'Add field'
            }]
        })

我认为您应该在button(或为按钮提供一个itemId并在控制器中定义一个函数,您可以在其中访问表单对象项数组并将动态"字段容器"对象添加到表单中。参考以下片段:

在视野中:

,buttons: [{
          text    : 'Add field',
          itemId : 'addField'
        }

在控制器中:

refs : [{
    selector : 'viewport form',
    ref : 'myForm'
},
init : function(){
    this.control({
        '#addField':{
            click : this.addFieldContainer
        }
        });
},
addFieldContainer: function(){
var form = this.getMyForm();
form.items.push({
            xtype: 'fieldcontainer',
            combineErrors: true,
            msgTarget : 'side',
            layout: 'hbox',
            items: [{
                xtype       : 'displayfield',
                margin      : '0 10 0 0'
            },{
                xtype       : 'button',
                text        : 'select'
            }]
        });
}

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新