动态反应Flexbox-grid构建

时间:2016-06-25 13:20:40

标签: meteor reactjs flexbox

我希望你能帮助我。我已经尝试了很长一段时间来动态地使用flexbox-grid创建一个网格。我现在想要实现的是每3个元素创建一个新行。我一直在玩meteor simple-todos示例,我正在尝试扩展它以了解更多信息。

到目前为止,我在代码方面的目标是:

renderTasks() {
let filteredTasks = this.props.tasks;

return filteredTasks.map((task, i) => {
  const currentUserId = this.props.currentUser && this.props.currentUser._id;
  const showPrivateButton = task.owner === currentUserId;

  if (i % 3 == 0){
    console.log("row " + i);
    return (
      <Row>
        <Task
          key={task._id}
          task={task}
          showPrivateButton={showPrivateButton}
        />
      </Row>
    );
  }else{
    console.log("col " +i );
    return (

      <Task
        key={task._id}
        task={task}
        showPrivateButton={showPrivateButton}
      />
    );
  }

});
}

这里的问题是我不能打开行,必须立即关闭它。我认为这不应该难以实现,但我google了相当多,找不到任何东西:(

1 个答案:

答案 0 :(得分:0)

这就是我要做的。首先,我会根据应放置的行对任务进行分组。然后我会有一个数组,或多或少像这样:

while condition=true do
begin
  TabSheet := TTabSheet.Create(PageControl[i]);
  TabSheet.Caption := '';
  //TabSheet.Name:='tabesheet_'+IntToStr(i);
  TabSheet.PageControl := PageControl[i];
  TabSheet.PageControl.ActivePageIndex:=0;
  {I also create a frame for each TabSheet. In every frame there is the     ComboBox that I want to access}
  frame := Tfrm1.Create(TabSheet);
  //frame.Name:='frame_'+IntToStr(i);
  frame.Parent:=TabSheet;
end;

然后我将映射此数组以呈现每一行。最后,为了渲染一行,我会映射该行的任务并渲染每个任务。

这样的事情:

cb := Tfrm1(PageControl[i].Pages[j].Controls[0]).comboBoxAccount;