我有一个带有嵌套列表项的tabpanel。每个嵌套列表都有几个级别。如果我向下钻取其中一个嵌套列表,然后单击选项卡面板中的其他项目,然后单击返回它,嵌套列表仍然向下钻取,而不是刷新到嵌套列表的顶层。
每次返回时,如何让嵌套列表显示顶级而不是深层次?
其他信息 好的,我在那里。这是我现在的代码:
var tabBar = new Ext.TabPanel({
fullscreen: true,
id : 'footer',
cardSwitchAnimation:false,
listeners: {
cardswitch: {
fn: function() {
Ext.getCmp('footer').getActiveItem().setActiveItem(0);
}
}
},
tabBar: {
dock: 'bottom'
},
items: [/* some nestedlist components */]
});
所以最后的问题是每次我开卡时,我都会看到#34; drillup / slideback"嵌套列表的动画向后滑动或钻回到顶级项目。如何在没有此向上钻取/向后滑动动画的情况下显示顶级项目?我希望保留向前滑动并在用户向下钻取嵌套列表时向下钻取动画。
答案 0 :(得分:1)
您可以尝试在setActiveItem方法中将cardSwitchAnimation参数设置为false
[更新]取消选择项目
为嵌套列表中的项目点击事件添加事件侦听器
nestedList.on("itemtap", function(nestedlist, index, item, e){setTimeout(function(){nestedlist(index);},500);}, this);
[更新]来自John
出于某种原因,您的代码对我没有任何作用。但是这个有用了:
var nestedList = new Ext.NestedList({
store: store,
listeners: {
itemtap: function(dv, ix, item, e) {
// Clear the selection soon
setTimeout(function(){dv.deselect(ix);},500);
}
}
});
答案 1 :(得分:1)
2014年3月,在版本2.3.1中,我遇到了Ext.dataview.NestedList对象的上述问题。使用"取消选择"的建议方法方法对我不起作用 - 可能是因为自原始问题以来已经过去了两年。
要解决问题,我使用了以下内容:
nestedList.goToNode( nestedList.getStore().getRoot() );