3

以下は、モーダルを作成するために使用しているコードです-

Ext.Viewport.add({
  xtype: 'panel',
  centered: true,
  style: {
      'background-color': 'transparent;'
     },
  cls: 'my-panel',
  float: true,
  modal: {
    style: {
       'opacity': '0.5'
      }
    },
  width: '100%',
  height: '86%',
  styleHtmlContent: true,
  items: [
     {
     }
   ]
 });

データを含む配列があります。その配列をループして、上記の例の項目プロパティに値を入れる必要があります。しかし、そこでループを使用できませんでした。その配列をループして項目に値を入れる方法はありますか? 前もって感謝します。

4

1 に答える 1

1

まあ... 1つの方法は、事前にデータをループすることです:

var itemlist = [];
for(var i..... )
{
    itemlist += ... defined the object that you need to put into the items list...;
}

次に、コードで

それ以外の:

items: [
    {
    }
]

次のように変更します。

items : itemlist

編集:再び..私はしばらくextjsに触れていません。しかし、通常アイテムに入れるのは次のようなものです

items:[
{
    type: 'panel',
    someSetting: 'your setting value',
    ...
}
]

extjs の仕様に準拠しています。

したがって、itemlist では、まったく同じオブジェクトをまったく同じ形式でリストに貼り付けて、構成オブジェクトの配列として使用できるようにします。

viewport.add( ... config object ) 関数では... 基本的にパネルを作成し、表示するビューポートの項目リストにパネルを追加しています。したがって、パネルを取得して、パネルが追加された後に項目を追加することもできます。パネル オブジェクトを取得して項目を追加する方法については、extjs のドキュメントを参照してください。

編集2:

わかりました..画像を表示するだけです..アイテムリストを使用する必要はありません。パネルは html コードの使用をサポートしていると思います。何かのようなもの:

viewport.add({
    xtype: 'panel',
    somesettings...,
    html: "html code here",
    rest of settings...
});

したがって...ループを実行して最初にhtmlコードを生成し、htmlを事前に生成されたhtmlコードと等しくなるように設定します。言う:

var tmpl;
for(var i ... loops your thumbnail)
{
    tmpl += '<img src="' + thumbnail[i] + '" />';
}

html 設定を tmpl に設定します。

于 2013-09-29T08:01:01.427 に答える