2017-04-19 9 views
0

私は、Ext.Createとadd()メソッドを使用してダイナミックに作成された子パネルを持つパネルを持っています。今度は、各パネルの内部に一意のフィールド名を設定する必要があります。私はいくつかのユニークなID(myId)パラメータを使用しようとしていますが、私はsome_field [undefined]をフォームに送信しています。ExtJS形式の動的テキストフィールド名

myIdプロパティにアクセスして、ビュー内のフィールド名に使用するにはどうすればよいですか? https://fiddle.sencha.com/#fiddle/1u74

ありがとうございました!

+1

宣言形式のように使用することはできません。その変数をクロージャスコープでキャプチャする必要があります。 –

答えて

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は文字列であることに注意してください。 "descr [10]"は文字列であり、配列を参照しません。

関連する問題