ExtJS表单中的动态文本字段名称

时间:2017-04-19 12:51:19

标签: extjs textfield extjs6

通过使用Ext.Create和add()方法,我有一个动态创建子面板的面板。现在我必须在每个面板中设置唯一的字段名称。我正在尝试使用一些唯一的ID(myId)参数,但我在表单提交时得到some_field [undefined]。

如何在我的视图中访问myId属性并在字段名称中使用它? https://fiddle.sencha.com/#fiddle/1u74

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您希望在面板中设置动态自定义配置,我建议您在initComponent功能中构建面板。

     Ext.define('MyPanel', {
        extend: 'Ext.panel.Panel',
        initComponent: function() {
            var myid = this.config.myId; // <--- This is a custom config
            this.items = [
                {
                    xtype: 'textarea',
                    fieldLabel: 'Description',
                    name: 'descr['+ myid +']' // <--- Here it is used
                }
            ];
            this.callParent(arguments);
        }
    });

创建面板时,myId将被视为任何其他配置

    Ext.create('MyPanel', {
        myId: 10
    });

我已使用您的小组在fiddle中证明了这一点。请注意,在小提琴的两种情况下,name都是一个字符串。 &#34; DESCR [10]&#34;例如,是一个字符串,而不是引用数组。