2

私は今朝、Sencha Touch を使い始めました。助けが必要です。

次のようにnestedListを作成すると:

var data = {
    text: 'Groceries',
    items: [{
        text: 'Ninja',
        items: [{
            text: 'Water',
            items: [{
                text: 'Sparkling',
                leaf: true
            },{
                text: 'Still',
                leaf: true
            }]
        },{
            text: 'Coffee',
            leaf: true
        },{
            text: 'Espresso',
            leaf: true
        },{
            text: 'Redbull',
            leaf: true
        },{
            text: 'Coke',
            leaf: true
        },{
            text: 'Diet Coke',
            leaf: true
        }]
    }],{
        text: 'Fruit',
        items: [{
            text: 'Bananas',
            leaf: true
        },{
            text: 'Lemon',
            leaf: true
        }]
    },{
        text: 'Snacks',
        items: [{
            text: 'Nuts',
            leaf: true
        },{
            text: 'Pretzels',
            leaf: true
        },{
            text: 'Wasabi Peas',
            leaf: true
        }]
    },{
        text: 'Empty Category',
        items: []
    }]
};

リストに画像を追加するにはどうすればよいですか? たとえば、ストリング ダイエット コークの横にコカ コーラのロゴを表示したい場合などです。内部に画像を含むhtmlを設定しようとしましたが、空白のアイテムが表示されました。「テキスト」プロパティにもかかわらず、リスト項目を操作する方法については何も見つかりません。連絡先の写真を含む連絡先リストを含む例を見たので、それが可能であることはわかっています。

どうぞよろしくお願いいたします。

4

1 に答える 1

7

に追加のフィールドを追加できるExt.regModelため、画像へのパスを保持するフィールドを追加する必要があります。

必要な HTML をリストにitemTpl追加して、そこに画像を追加できます。

以下の例はsencha api docsからのものです。画像を使用するように変更して、画像を追加する方法を説明しました。

それが役立つことを願っています!

コードスニペット

Ext.setup({
    icon: 'icon.png',
    glossOnIcon: false,
    onReady: function() {

        Ext.regModel('Contact', {
            fields: ['firstName', 'lastName', 'imgURL']
        });

        var store = new Ext.data.JsonStore({
            model: 'Contact',
            sorters: 'lastName',

            getGroupString: function(record) {
                return record.get('lastName')[0];
            },

            data: [{
                firstName: 'Tommy',
                lastName: 'Maintz',
                imgURL: 'myImage.png'
            }, {
                firstName: 'Rob',
                lastName: 'Dougan',
                imgURL: 'myImage.png'
            }, {
                firstName: 'Ed',
                lastName: 'Spencer',
                imgURL: 'myImage.pngg'
            }, {
                firstName: 'Jamie',
                lastName: 'Avins',
                imgURL: 'myImage.png'
            }]
        });

        var list = new Ext.List({
            fullscreen: true,

            itemTpl: '<img src="{imgURL}" width="20" heigh="20"></img><span>{firstName} {lastName}</span>',
            //grouped : true,
            //indexBar: true,

            store: store
        });
        list.show();
    }
});
于 2011-07-26T10:48:34.143 に答える