簡體   English   中英

Sencha Touch Carousel中的項目消失

[英]Items in Sencha Touch Carousel disappearing

我目前正在使用Sencha Touch構建應用程序。 我們的頁面上有一個特定的輪播,其中包含多個項目。 單擊其他面板上的按鈕后,某些項目將添加到面板中或從中刪除。

問題 :所有操作均按計划進行,但第一次單擊再次單擊該按鈕 ,該功能停止工作,並且“輪播”顯示變為空白,沒有任何項目可見。

下面更改轉盤的內容的按鈕處理程序 itemsCarousel 該函數將itemPanels[ b.getBadgeText() ]itemsCarousel的項目中。 對於前四次點擊,效果很好。 大約過一會兒,當我單擊一個按鈕時,“輪播”中的所有項目都消失了,甚至無法從控制台手動調用“輪播”,也無法添加或刪除更多內容。

handler: function(b, e) {
    itemsCarousel.insert(1, itemPanels[ b.getBadgeText() ]);
    itemsCarousel.doLayout(); itemsCarousel.doComponentLayout();
    itemsCarousel.setActiveItem(1);
    itemsCarousel.remove(0, false);
}

我嘗試過的事情:

  • 通過將項目插入插槽0 ,將0設置0活動,然后移除1更改順序。
  • 在每行上放置javascript斷點,查看輪播的空白處。 有時它出現在.insert()語句中,有時出現在.remove()
  • 從控制台手動完成所有這些操作。
  • .remove()調用(如上所示)和itemsCarousel的聲明中調整autoDestroy參數。

如果您需要更多代碼,我可以發布您認為相關的任何內容,但我不想用過多的代碼來污染該線程。 謝謝你的幫助!

編輯:如果有人知道另一種方法來重現相同的功能,我也很樂意。 我正在考慮也許創建一個帶有一個項目(一個轉盤)的虛擬容器容器,並刪除整個轉盤並在單擊按鈕時重新添加一個全新的(帶有新項目)一個?

好吧,我想出了如何使用其他方法重現功能的方法。

我構建了多個輪播,每個輪播都包含我想要的面板,然后有一個根面板,該面板簡單地根據按鈕的按下來設置活動的輪播。 例如,層次結構如下現在這個樣子:

rootPanel
{
    carousel[0]
    {
        panel1
        panel2
    }
    carousel[1]
    {
        panel3
        panel4
    }
    ...
}

然后執行rootPanel.setActiveItem(x)來顯示新的輪播。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM