[英]Polymer iron-list showing outdated items
我有一個大約有500個項目的鐵清單元素,並實現了過濾器功能(例如如何在聚合物1.0中過濾鐵清單中的那個)。 顯示和過濾項目的效果很好,除非我的過濾器的限制過於嚴格:在這種情況下,顯示的某些項目與當前過濾器不匹配,但與當前過濾器不匹配。 據我了解-當鐵清單中的項目數量減少時-已經創建的顯示(虛擬)項目不會被刪除。
示例:項{A,B,C,D,E,F,G,H,I}與過濾器X匹配。Iron-list元素具有5個虛擬元素(簡化標記):
<iron-list>
<div>A</div>
<div>B</div>
<div>C</div>
<div>D</div>
<div>E</div>
</iron-list>
然后,將過濾器更改為Y,僅將H和I作為匹配項:更新的標記如下所示:
<iron-list>
<div>H</div>
<div>I</div>
<div>C</div>
<div>D</div>
<div>E</div>
</iron-list>
我希望鐵表中只有兩個div元素,但似乎保留了恆定數量的虛擬化項目。 我試圖通過調用notifyResize()和其他方法來更新元素(請參閱https://www.webcomponents.org/element/PolymerElements/iron-list/elements/iron-list ),但沒有任何效果。
除了手動刪除備用虛擬元素外,還有其他想法嗎?
顯然,鐵列表為虛擬元素添加了“隱藏”屬性,這些屬性不應該可見-我之前從未注意到。
所以添加一個CSS指令,例如
#list .item[hidden] { display: none; }
解決了上述問題。
我認為除了手動刪除數組或使用notifyResize之外,沒有其他選擇。 顯然我會去第二次。
沒有看到你的代碼,我不知道為什么它也不是為你工作,但這里是用notifyResize類似的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.