2011-08-16 4 views
1
私はEnyoで1 VirtualRepeaterを使用してい

(WebOSと3.0):VirtualRepeaterの行を非表示にするにはどうすればいいですか?

{kind: enyo.VirtualRepeater, name: "eventList", onSetupRow: "setupRowWithEvent", onclick: "doListTap", components: [ 
    {kind: enyo.Item, name:"eventItem", layoutKind: enyo.HFlexLayout, tapHighlight: true, components: [ 
     /* components of every row: inside a Enyo.Item */  
    ]} 
]}         
/* more code */ 
setupRowWithEvent: function(inSender, inIndex) { 
    if (somethingIsTrue) { 

     return true;  
    } 
} 

私がやりたいことはある:

  • 何かが真である場合、
  • ない場合は、行をレンダリングし、ショー何もありません 問題は、何もせずに空の行を表示していることです。それは内容と空の行を持つ行を表示しますが、行は必要ありません。私はfalseを返すことはできません、またはVirtualRepeaterは、行のレンダリングを停止します。
+0

、あなただけのfalseに示すプロパティを設定する必要があります。これは、私の場合は次のとおりです:this。$ eventItem.setShowing(false); –

答えて

0

私が見つけた解決策は単純です:!VirtualRepeater内の項目を非表示にする

解決
{kind: enyo.VirtualRepeater, name: "eventList", onSetupRow: "setupRowWithEvent", onclick: "doListTap", components: [ 
    {kind: enyo.Item, name:"eventItem", layoutKind: enyo.HFlexLayout, tapHighlight: true, components: [ 
     /* components of every row: inside a Enyo.Item */  
    ]} 
]}         
/* more code */ 
setupRowWithEvent: function(inSender, inIndex) { 
    if (somethingIsTrue) { 
     // code to update every row 

    } else { // we don't want this row to show 
     this.$.eventItem.setShowing(false); 
    } 
return true; // if you don't return true, the virtual Repeater stops fetching rows 
} 
関連する問題