1
storeObj.insert(modelObj)を使用してストアを更新すると、リストパネルが自動的に更新されます。しかし、IDは、ビューに表示されたときに新しく追加された項目が「アニメート」するのが好きです。これを達成する方法はありますか?Sencha Touch 1.1ストアの更新をビューに表示、保存する(フェード/点滅)
storeObj.insert(modelObj)を使用してストアを更新すると、リストパネルが自動的に更新されます。しかし、IDは、ビューに表示されたときに新しく追加された項目が「アニメート」するのが好きです。これを達成する方法はありますか?Sencha Touch 1.1ストアの更新をビューに表示、保存する(フェード/点滅)
モデルには、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 =真を持っている必要があります。
また、新しいアイテムを挿入する前に、古いアイテムをすべて「NOT NEW」とマークする必要があります。そのためには、ダミーストアを使用する必要があります。
itemTpl: '<tpl for=".">'
+ '<tpl if="newItem==1">'
+ ' <p color="red"> this item is new</p></tpl>'
+ '<tpl else >
+ ' this item is old</tpl>'
+ '</tpl>',
ニース(ごExt.List用):
さて、次のようなEXt.xTemplateを使用!ありがとう、相棒! – Gunnar2k
フォローアップの質問:前にダミーストアをやったことはありませんでした。 – Gunnar2k
ダミーストアのようなものはありません....ダミーストアでは、オリジナルストアをコピーしてモデルインスタンスを新規でないものとしてマークするための一時ストアを使用することを意味していました。後で挿入されたものはnewItemの値が1となっています。どのようにitemTplを試しましたか?その作業はどうでしたか? – riship89