gpt4 book ai didi

reactjs - 使用 react-grid-layout 以编程方式生成网格项

转载 作者:行者123 更新时间:2023-12-04 02:11:47 26 4
gpt4 key购买 nike

我正在使用 Meteor 和 ReactJS 开发应用程序。我正在使用 react-grid-layout组件来创建项目网格。

问题是需要手动指定每个元素的位置。在我的应用程序中,我基于 Meteor 集合生成网格项,我可能不知道集合中有多少项。

示例

import React from "react";
import Item from "/ui/components/workspace/item.jsx";
import ReactGridLayout from 'react-grid-layout';

export default class WorkspaceGrid extends React.Component {
componentDidMount() {

}

render() {
let testCollection = [1,2,3,4,5,6,7,8,9,10]
return (
<ReactGridLayout isResizable={false} className="layout" cols={4} width={1200}>
{testCollection.map((item, x) =>
<Item key={x} _grid={{x: ?, y: ?, w: 1, h: 2}} />
)}
</ReactGridLayout>
)
}

}

在上面的例子中,网格每行应该有 4 列,但是我如何指定 xy 值,以便在 testCollection 项目 1-4 在第 1 行,5-8 在第 2 行,9-10 在第 3 行,依此类推,无论集合中有多少项目。

非常感谢,感谢帮助。

最佳答案

默认情况下,react-grid-layout 有参数 verticalCompact设置为 true , 这意味着如果几个项目得到相同的 y值,它会垂直压缩。我认为你可以这样写:


<Item key={x} _grid={{x: x%4, y: 0, w: 1, h: 2}} />

多个项目将获得相同的 y值,但这对于 react-grid-layout 来说不是问题。 x 值将从 0 变为 3。

关于reactjs - 使用 react-grid-layout 以编程方式生成网格项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37373627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com