Установить изображение в itemTpl динамически в сенсорном списке Sencha

Мне нужно установить изображение с текстом в строке моего списка. Но изображение должно быть выбрано во время выполнения.

Вот мой магазин:

Ext.define('MyApp.model.Sample', {
           extend: 'Ext.data.Model',

           config: {
           fields: [ 
                    { name: 'uName', mapping: '@name' },
                    { name: 'uId', mapping: '@id' }
                    ]
                }
           });

В моем списке itemTpl я могу отобразить uName, и я создал функцию (getImageURL), которая должна возвращать требуемое изображение, так как мне использовать или каков способ/синтаксис используя uId из приведенного выше (который имеет значение 0 или 1)

И вот мой список:

  itemTpl : new Ext.XTemplate("<img src=\"{[this.getImageURL()]}\" width=\"20\" height=\"20\"></img><span>    {uName}</span>",
              {
               getImageURL : function()
                {

                // I have to return either of two images
                // if  uId = 0, return 'resources/images/Image0.png'
                // if uId = 1, return 'resources/images/Image1.png'

                }
              }
    ),

person Zaraki    schedule 03.07.2012    source источник


Ответы (1)


Вам не нужно использовать функцию. XTemplate предоставить операторы if и else.

Посмотрите здесь

Пример

var tpl = new Ext.XTemplate(
    '<p>Name: {name}</p>',
    '<p>Kids: ',
    '<tpl for="kids">',
        '<p>{name} is a ',
        '<tpl if="age &gt;= 13">',
            '<p>teenager</p>',
        '<tpl elseif="age &gt;= 2">',
            '<p>kid</p>',
        '<tpl else>',
            '<p>baby</p>',
        '</tpl>',
    '</tpl></p>'
);

Надеюсь это поможет

person Titouan de Bailleul    schedule 03.07.2012