0

次のようにテンプレートを使用できますか。

        plugins: [{
            ptype: 'rowexpander',
            selectRowOnExpand : false,  
            rowBodyTpl: new Ext.XTemplate(
                '<p>Qusetions: {question}</p><p>',
                '<tpl for="option">',
                        '<p>{option[0]}</p>',
                    '</tpl></p>'
                )
            }]

何も見えません。私はこのJSONを持っています:

     { 
        "total": 2, 
        "data": [   
        {
        "qno":1,
        "question":"What's Your Fav color",
        "option":['red','green','blue']
        },
        {
        "qno":2,
        "question":"What's Your coom color",
        "option":['yellow','red','green','blue']
        }
     ] 
      }

モデルファイル

Ext.define('AM.model.Question', {
     extend: 'Ext.data.Model',
     fields: [
      {name: 'question'},
      {name: 'option'},
      {name: 'images'},
      {name: 'qno'}
]});

出力を次のように表示したい:

  + Questions: What is your fav color

        <radiobutton> Red
        <radiobutton> Green
        <radiobutton> Blue

Ext JS 4.1 バージョンを使用しています

回答ありがとうございます

4

1 に答える 1

0

XTemplate を使用して配列を反復処理する場合、現在の項目は を使用して参照され{.}ます。テンプレートは次のようになります。

'<p>Questions: {question}</p>',
'<p>',
'<tpl for="option">',
    '<p>{.}</p>',
'</tpl>',
'</p>'

ただし、ラジオグループをやりたい場合は、もう少し注意が必要です。XTemplate はparent、現在のコンテキスト外のオブジェクトにアクセスするためのプロパティを提供します。したがって<p>、中央のタグの代わりに、ラジオ グループは次のようになります。

'<tpl for="option">',
    '<input type="radio" name="qno_{parent.qno}" value="{.}" />{.}<br/>'
'</tpl>'
于 2013-02-22T14:06:48.313 に答える