2017-04-12 128 views
0

我正在嘗試創建可摺疊容器列表。容器應該摺疊並展開。我創建了一個示例列表項呈示器。移動列表可摺疊項目

qx.Class.define("mb.ui.list.QuotaWeekListRenderer", 
{ 
    extend : qx.ui.mobile.list.renderer.Default, 

    members : 
    { 
    __collapsible : null, 
    __weeksContainer : null, 

    _init : function() 
    { 
     this.ignoreBase; 

     this.__collapsible = this._createCollapsible(); 

     this.add(this.__collapsible); 
    }, 

    setTitle : function(title) 
    { 
     this.ignoreBase; 

     if (title && title.translate) 
     { 
     this.__collapsible.setTitle(title.translate()); 
     } 
     else 
     { 
     this.__collapsible.setTitle(title); 
     } 
    }, 

    addWeek : function(value) 
    { 
     var label = new qx.ui.mobile.basic.Label(value); 
     this.__collapsible.add(label); 
    }, 

    _createCollapsible : function() 
    { 
     return new qx.ui.mobile.container.Collapsible(); 
    }, 

    // overridden 
    reset : function() 
    { 
     this.ignoreBase; 

     this.setTitle(""); 
     this.__collapsible.getContent().removeAll(); 
    } 
    } 
}); 

var page = new qx.ui.mobile.page.NavigationPage(); 
page.setTitle("List"); 
page.addListener("initialize", function() 
{ 

    // List creation 
    var list = new qx.ui.mobile.list.List({ 
    configureItem : function(item, data, row) 
     { 
     item.setTitle("Week " + parseInt(data.weekNo)); 
     for (var i = 0, l = data.weekDates.length; i < l; i++) 
     { 
      item.addWeek(data.weekDates[i]); 
     } 
     }, 
     createItemRenderer : function() 
     { 
     return new mb.ui.list.QuotaWeekListRenderer(); 
     }  
    }); 

    // Create the data 
    var data = [{title: "title1", weekNo: 1, weekDates : ["1/2/2014", "2/2/2014"]}, 
       {title: "title2", weekNo : 2, weekDates : ["2/3/2015", "9/3/2015"]}]; 


    list.setModel(new qx.data.Array(data)); 

    page.getContent().add(list); 
},this); 

this.getManager().addDetail(page); 

page.show(); 

以上可以在Playground

運行我的問題是,該項目不擴大「水龍頭」。監聽器切換容器的「摺疊」屬性,但它對DOM元素沒有影響。任何想法如何解決它?

回答

1

這樣的事情,也許?

Playground example

+0

謝謝,但不是這樣。你創建的是兩個可摺疊容器中的兩個列表。我需要一個可摺疊容器列表作爲項目。 我明白,列表提供程序克隆的元素。結果是輕拍監聽器的目標顯示已摺疊,但頁面上的元素不是。對某個項目執行的任何操作都不會對實際點擊的列表項產生影響。 – Kama