簡體   English   中英

聚合物鐵清單顯示過時的項目

[英]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.

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