反应:仅显示完全适合弹性框的项目,并动态确定要显示的项目数

塞缪尔·诺伊斯

接受的答案在这里非常非常接近,是我想要的。我有一个垂直的Flexbox,其中的项目具有固定的高度。我希望显示尽可能多的项目,但是如果某个项目完全溢出,则应完全省略。尝试链接答案中的代码片段,以了解我的意思。通过设置'flex-wrap:wrap'和隐藏在容器上的溢出,可以很容易地实现这种效果。

但是,我还有一个问题:我不仅要显示这些项目,还需要知道当前正在显示多少。我试图显示尽可能多的项目,例如,如果有五个项目不合适,标签的底部将显示“ ...和另外5个”。最简单的方法是什么?我希望避免将容器的高度除以单个项目的高度(如果可能)。肯定有更好的办法。

塞缪尔·诺伊斯

经过大量的挖掘,终于找到了令我满意的解决方案。使用元素的offsetLeft以确定要包装的元素。进行相同的操作,但对水平柔韧性框使用offsetTop。

CSS:

.container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

反应:

const items = [...]; // Array of ReactElements

const [numberOfItemsDisplayed, setNumberOfItemsDisplayed] = useState(0);
const ref = useRef(null)

useLayoutEffect(() => {
    const cells = ref.current?.children;
    if (cells && cells.length > 0) {
        const startingOffset = cells[0].offsetLeft;
        let numItems = 0;
        for (let i = 0; i < cells.length; i++) {
            if (cells.offsetLeft > startingOffset) {
                break;
            }
            numItems++;
        }
        setNumberOfItemsDisplayed(numItems);
    }
}, []);

return <div class="container" ref={ref}>{items}</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

限制要在反应预测输入中显示的项目数

来自分类Dev

动态调整引导网格系统以适应显示的项目数

来自分类Dev

是否可以根据布局更改显示的弹性项目数量?

来自分类Dev

ListAsGridBaseAdapter仅在项目数偶数时显示网格项目

来自分类Dev

Flexbox-限制每行的项目数,仅显示一行

来自分类Dev

每次更改时,如何动态显示ListBox中的项目数?

来自分类Dev

Emberjs显示项目数组

来自分类Dev

Recyclerview 仅显示完全可见的项目

来自分类Dev

如何在PHP中显示数组中的项目数

来自分类Dev

显示对象数组中的项目数,无重复

来自分类Dev

如何限制Django应用中显示的项目数

来自分类Dev

UICollectionView没有显示正确的项目数

来自分类Dev

显示PHP中每个类别的项目数

来自分类Dev

限制WPF ListView中显示的项目数

来自分类Dev

Angular ui grid pagination - 页面显示中的项目数

来自分类Dev

如果项目数大于 4,Wordpress 会显示简码

来自分类Dev

在弹性项目上显示表格

来自分类Dev

在弹性项目上显示表格

来自分类Dev

Symfony表单-动态项目数

来自分类Dev

显示超支项目数量的最佳方法

来自分类Dev

在列出那些项目之前显示符合特定条件的文件/项目数

来自分类Dev

ListAsGridBaseAdapter仅在项目数为偶数时显示网格项目

来自分类Dev

多个项目数据。使用react-native在动态模态中单击显示数据

来自分类Dev

使用 for 循环显示列数和列中的项目数

来自分类Dev

确定CheckedListBox,WinForms的已检查项目数

来自分类Dev

如何确定数组中存储的项目数?

来自分类Dev

使Listview仅显示某些项目

来自分类Dev

仅显示角度的选中项目

来自分类Dev

在弹性方向上连续显示弹性项目:列

Related 相关文章

热门标签

归档