我正在尝试更改Ext.List
的内容。我正在尝试将内容更改为新面板,但我不需要更多列表元素。
这似乎取代了内容,但我该如何设置更改动画?
onItemDisclosure: function(record, btn, index) {
console.log('Disclose more info for ' + record.get('name'));
var panel1 = Ext.getCmp('panel-1');
panel1.remove(Ext.getCmp('panel-1'));
panel1.add(Ext.getCmp('panel-2'));
panel1.doLayout();
}
答案 0 :(得分:3)
最好的方法是将panel-1
和panel-2
作为不同面板中的项目,然后在它们之间切换。例如:
var detailPanel = new Ext.Panel({
fullscreen: true,
id:'detailPanel',
scroll:'vertical',
tpl:'<h1>{text}</h1>'
});
var list = new Ext.List({
id :'theList',
itemTpl : '{firstName} {lastName}',
store: store1,
width: '100%',
scroll:false
});
var panel = new Ext.Panel({
fullscreen: true,
id:'thePanel',
layout: 'card',
cardSwitchAnimation:'slide',
scroll:'vertical',
items:[list, detailPanel]
});
然后您可以像Ext.getCmp('detailPanel').update(record.data);
一样更新detailPanel并切换到它。 Ext.getCmp('thePanel').setActiveItem(1,{type:'slide',direction:'left'});
setActiveItem的第二个参数是动画配置。宾语。 http://dev.sencha.com/deploy/touch/docs/?class=Ext.Panel