【发布时间】:2019-05-23 08:32:44
【问题描述】:
我有一个带有子组件弹性框的组件。我试图从我的父组件中获取每个组件的元素宽度等信息。我最终要做的是知道列表是否溢出,以便我可以修改可见元素的数量。如果溢出,我想在最后放置一个特殊元素,显示当前隐藏的图标数量。
我尝试过使用@ViewChildren,但不知道如何从中获取元素尺寸。我该怎么做?
<div class="file-list">
<app-file-icon [text]="file" *ngFor="let file of files"></app-file-icon>
</div>
css:
.file-list {
width: 200px;
height: 120px;
border: 1px solid grey;
padding: 10px;
margin: 10px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
/* overflow: hidden; */
}
沙盒:
【问题讨论】:
-
如果没有 Javascript,您将无法显示隐藏项目的数量。列表的其余部分所需的功能是什么?永久隐藏还是想要see more 按钮?
-
@sallf 是的,更像是一场演出,但我不确定此时的确切行为。我认为这与我尝试做的第一件事无关,即限制可见元素的数量并将 +n 图标添加到列表中。我更新了示例以大致演示我的目标。
-
你能在这里发布更多你的代码吗?列表是如何生成的?一种方法是获取包装
div的bottom位置,然后计算列表中top位置大于该位置的项目。