Sencha Touch 1.1 Lists, Store, «оживление» обновлений магазина в представлении (исчезает / мигает) - PullRequest
1 голос
/ 29 января 2012

Когда я обновляю магазин с помощью storeObj.insert (modelObj), панель List обновляется сама, как и должна. Тем не менее, я хотел бы видеть вновь добавленный элемент «анимировать», когда он появляется в представлении. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 08 февраля 2012

В вашей модели есть дополнительное поле с именем newItem. Итак, ваша модель будет:

Ext.regModel('Product', {
    fields: [
        **{name: 'newItem',     type: 'boolean'},**
        {name: 'name',        type: 'string'},
        {name: 'description', type: 'string'},
        {name: 'price',       type: 'float'},
        {name: 'image_url',   type: 'string'},
        {name: 'in_stock',    type: 'boolean'}
    ]
});

Когда вы вставляете товар в магазин с

storeObj.insert(modelObj)

Вы должны иметь modelObj.newItem = true перед вставкой.

Кроме того, перед вставкой любого нового элемента вы должны пометить все старые элементы как «НЕ НОВЫЕ». Для этого вам, возможно, придется использовать dummystore.

Теперь используйте EXt.xTemplate следующим образом: (для вашего Ext.List)

itemTpl: '<tpl for=".">' 
    + '<tpl if="newItem==1">' 
    + '    <p color="red"> this item is new</p></tpl>' 
    + '<tpl else >
    + '    this item is old</tpl>' 
    + '</tpl>',
...