使用 Material-UI 网格列表模拟引导网格

Posted

技术标签:

【中文标题】使用 Material-UI 网格列表模拟引导网格【英文标题】:Mimic bootstrap grid using Material-UI Grid list 【发布时间】:2017-07-09 01:15:27 【问题描述】:

我是 Material-ui 的新手,我正在使用 ReactJS。我有这个 jsfiddle 但使用 Bootstrap。我想知道如何使用 React Material-UI 对带有标题的 2 列面板进行编码。

我想实现这个布局-http://imgur.com/a/bzkOd

这里是 bootstrap sn-p:

<div class="row">
  <div class="col-xs-12">Header</div>
</div>
<div class="row">
    <div class="col-xs-12">
        <div class="row">
            <!-- Left side -->
            <div class="col-xs-3">
                <div class="row">
                    <!-- 1st column -->
                    <div class="col-xs-12">Menu 1</div>
                    <div class="col-xs-12">Menu 2</div>
                    <div class="col-xs-12">Menu 3</div>
                    <div class="col-xs-12">Menu 4</div>
                    <div class="col-xs-12">Menu 5</div>
                    <div class="col-xs-12">Menu 6</div>
                </div>
            </div>

            <!-- Right side -->
            <div class="col-xs-9">
                <div class="row">
                    <!-- 3rd column -->
                    <div class="col-xs-12">Dashboard</div>
                    <!-- 4th column -->
                    <div class="col-xs-12">Device Statistics</div>
                    <!-- colspan 2 -->
                    <div class="col-xs-12">Device Health</div>
                </div>
            </div>
        </div>
    </div>
</div>

https://jsfiddle.net/wLob4p03/1/

【问题讨论】:

【参考方案1】:

material-ui 中的GridList 与网格布局无关。看看material design guidelines:

网格列表是标准列表视图的替代方案。

您需要自己实现网格布局或使用一些现成的库。其中有很多,通常基于 Bootstrap 网格,或者非常相似:

bootstrap-grid-react ReactGrid react-virtualized(满足一些更高级的需求)

您可能会找到更多,只需找到最适合您需求的那个。就个人而言,我创建了自己的 Grid 组件来完全控制它。

【讨论】:

哦,好的。非常感谢您的解释。这很有帮助!当我之前阅读文档时,我想,它在哪里,呵呵。再次感谢。【参考方案2】:

我认为应该更新答案,因为 Material UI 已经实现了自己的 Flexbox 布局,非常类似于 Bootstrap (https://material-ui-1dab0.firebaseapp.com/layout/responsive-ui)。

注意:这不是 Material-UI Grid 列表。

看起来他们最初希望将自己保持为纯粹的“组件”库。但是其中一位核心开发人员认为不拥有自己的开发人员太重要了。它现已被合并到核心代码中,并有望与 v1.0.0 一起发布。

目前(2017 年 4 月)它仍在 next / alpha 分支上。您可以通过以下方式安装它:

npm install material-ui@next

将此答案归功于:icc97 - Material UI and Grid system

【讨论】:

以上是关于使用 Material-UI 网格列表模拟引导网格的主要内容,如果未能解决你的问题,请参考以下文章

React Material-ui - 在网格上折叠打破网格

Material-UI 数据网格 onSortModelChange 导致无限循环

React Material-UI 网格系统 [重复]

使用 react-testing-library 测试 material-ui 数据网格的问题

Material-UI X:找不到数据网格上下文

Material-ui中网格项目的对齐方式