use*_*647 4 meteor reactjs react-grid-layout
我正在使用 Meteor 和 ReactJS 开发一个应用程序。我正在使用react-grid-layout组件来创建项目网格。
问题是每个元素的位置需要手动指定。在我的应用程序中,我基于 Meteor Collection 生成网格项,我可能不知道该集合中有多少项。
例子
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>
)
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,网格每行应该有 4 列,但是我如何指定x和y,以便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。
| 归档时间: |
|
| 查看次数: |
5080 次 |
| 最近记录: |