首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合物铁.显示过时物品的清单

聚合物铁.显示过时物品的清单
EN

Stack Overflow用户
提问于 2017-10-30 06:29:03
回答 2查看 201关注 0票数 0

我有一个包含大约500个条目的铁列表元素,并且实现了一个过滤器函数(就像How to filter an iron-list in polymer 1.0?中的那个)。显示和过滤项的效果很好,除非我的筛选器受到太大限制:在这种情况下,会显示一些项与当前的筛选器不匹配,但与前面的筛选器匹配。据我所知,当铁列表中的项目数量减少时,已经创建的显示(虚拟)项目不会被删除。

例如:条目{A、B、C、D、E、F、G、H、I}匹配过滤器X。铁列表元素有5个虚拟元素(简化标记):

代码语言:javascript
复制
<iron-list>
    <div>A</div>
    <div>B</div>
    <div>C</div>
    <div>D</div>
    <div>E</div>
</iron-list>

然后,我将过滤器更改为Y,只使用H和I作为匹配项:更新后的标记如下所示:

代码语言:javascript
复制
<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)来更新元素,但没有效果。

除了手动删除多余的虚拟元素之外,还有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-31 11:52:35

显然,铁列表为不应该可见的虚拟元素添加了一个“隐藏”属性--这一点我以前没有注意到。

因此,添加CSS指令如下

代码语言:javascript
复制
#list .item[hidden] { display: none; }

解决了上述问题。

票数 2
EN

Stack Overflow用户

发布于 2017-10-30 08:40:25

除了手动删除数组或使用notifyResize之外,我不认为还有其他选项。显然我会选第二个。

在没有看到您的代码的情况下,我不知道为什么它不适用于您,但是here使用notifyResize的情况类似。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47009221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档