2012-02-28 73 views
0

我有一個嵌套列表項的tabpanel。每個嵌套列表都有幾個層次。如果我深入查看一個嵌套列表,然後點擊tabpanel中的一個不同的項目,然後再次點擊它,嵌套列表仍然是向下鑽取的,而不是刷新到嵌套列表的頂層。Sencha Touch - 嵌套列表上的頂級嵌套

我該如何獲得嵌套列表來顯示頂層而不是每當我返回到頂層?

附加信息 好的,我在那裏。這是我現在有代碼:

 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 */] 
    }); 

所以最終的問題是,每次我cardswitch,我看到了嵌套列表的「drillup /偏壓補償」動畫滑回或鑽孔返回頂層項目。如何在沒有此向上/向後滑動動畫的情況下顯示頂層項目?我想要向前保留幻燈片,並在用戶向下鑽取嵌套列表時向下鑽取動畫。

回答

1

你可以嘗試將cardSwitchAnimation參數設置爲false在setActiveItem方法

[更新]取消項目

該項目的敲擊事件添加事件偵聽器嵌套列表

nestedList.on("itemtap", function(nestedlist, index, item, e){setTimeout(function(){nestedlist(index);},500);}, this); 

[更新]來自約翰

出於某種原因,您的代碼對我無能爲力。但這個工作:

var nestedList = new Ext.NestedList({ 
     store: store, 
     listeners: { 
     itemtap: function(dv, ix, item, e) { 
      // Clear the selection soon 
      setTimeout(function(){dv.deselect(ix);},500); 
     } 
    } 
}); 
+0

是啊。現在我有一個最後的問題前選擇的項目仍然是高亮的。我如何取消選擇()它? – John 2012-02-28 20:34:48

+0

我遇到了在正確的對象上找到deselectAll()函數的麻煩,或試圖idnetify記錄id,然後找到相當於取消選擇()的hte對象函數。 – John 2012-02-28 20:35:51

+0

剛剛更新了我的回答 – 2012-02-28 21:10:23

1

2014年3月,與版本2.3.1,我有Ext.dataview.NestedList對象的上述問題。使用「取消選擇」方法的建議方法對我來說並不適用 - 可能是因爲原來的問題出現兩年了。

要解決的問題,我使用了以下內容:工作太

nestedList.goToNode(nestedList.getStore().getRoot());