0

itemtapにネストされたリストをロードしています。ロードする必要があるのは、リーフノードでない場合はフォルダイメージ、リーフノードの場合はドキュメントイメージです。

そのための1つの方法は、jsonデータ自体に画像を読み込むことだと思います。しかし、それを達成する方法がわかりません。

現在のところ、私のモデルは文字列データのみで構成されています。thrで画像データをロードするにはどうすればよいですか?

//Defining a data structure for the Nested List
Ext.define('InfoImage.model.nestedListModel', {
    extend: 'Ext.data.Model',

     config:{
    fullscreen:'true',
    title:'Work Items Task 1',
    ui:'normal',
    cls:'nestedlistCls',
    xtype:'nestedList',
    // displayField : 'text',
    store:'nestedListStore'/*,
    getItemTextTpl: function() {
        var tplConstructor = '{text}' +
            '<tpl if="model === \'folder\'">'+
                '<img src="resources/images/refresh.png" >' 
                '</img>' +
            '</tpl>';
        return tplConstructor;
    }*/
   // itemTpl:'<div><img src="resources/images/refresh.png" > </img>{text}</div>'*/


}
});

私のjsonデータコードは次のとおりです。

{
    "items":[

         {
        "text":"1.1",
        "folder":"resources/images/refresh.png",
        "items":[
            {
                "text":"1.1.1",
                "items":[
                    {
                        "text":"1.a",
                        "leaf":true
                    }]
            }
        ]

    },


        {
            "text":"1.2",
            "items":[
                {
                    "text":"1.2.1",
                    "leaf":true
                }
            ]

        },
        {
            "text":"1.3",
            "items":[
                {
                    "text":"1.3.1",
                    "leaf":true
                }
            ]

        }
    ]

}

どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

0

まず、これはあなたにとって良い参考になるかもしれません:ネストされたリストがsenchaにロードされていません

次に、次のJSONがニーズに適合します(img_srcモデルにもフィールドを定義したと仮定します)

items: [
{
    text: 'not_leaf',
    img_src: 'your_link_1',
      items: [
        { text: 'leaf_1', img_src: 'your_link_2',  leaf: true },
        { text: 'leaf_2', img_src: 'your_link_3', leaf: true }
      ]
    }
]

次に、Sencha Touchはすべての画像ソース を自動的にロードし、それらを使って好きなことを行うことができます。

itemtap:イベントをリッスンして処理するだけのleafitemtap場合は、Ext.NestedList

お役に立てれば。

于 2012-04-29T07:47:56.973 に答える