Как я могу построить этот макет с MaterialUI?реагировать - PullRequest
0 голосов
/ 14 декабря 2018

Я использую MaterialUI для создания своего интерфейса с React.Я хочу построить макет, подобный следующему: enter image description here

Я работаю с компонентами Grid и играюсь, но нужна помощь, чтобы поставить этот столбец: c любая идея?Спасибо.

Дополнительные сведения: * Я не подумал, что если вы знаете способ сделать его мобильным, это будет полезно

Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Я признаю, что это не самое сексуальное решение, но я считаю, что самым простым способом было бы использовать различные компоненты Table-UI для создания двух столбцов, а затем вложить вашу сетку или таблицу в первый столбец.Если у кого-то есть лучшая альтернатива, пожалуйста, прокомментируйте, чтобы я тоже мог учиться!

В моем примере фрагмента я повторно использовал компоненты таблицы для вложения таблицы.Я не получил стиль, который точно соответствовал бы вашему, но достаточно близко для работоспособной отправной точки.

const { Table, TableBody, TableRow, TableCell } = window["material-ui"];

const NestedTableExample = () => {
  const sharedColumnProps = { border: "none" };
  const sharedDivProps = {
    border: "solid 3px #000",
    height: "100%",
    padding: "10px",
    width: "100%"
  };
  const styles = {
    column1: { width: "150px", ...sharedColumnProps },
    column1Div: { background: "lightblue", ...sharedDivProps },
    column2: {
      width: "50px",
      ...sharedColumnProps
    },
    column2Div: {
      background: "orange",
      ...sharedDivProps
    }
  };
  return (
    <Table style={{ height: "100%" }}>
      <TableBody>
        <TableRow>
          <TableCell style={{ border: "none" }}>
            <Table>
              <TableBody>
                <TableRow>
                  <TableCell style={styles.column1}>
                    <div style={styles.column1Div}>Cell1</div>
                  </TableCell>
                </TableRow>
                <TableRow>
                  <TableCell style={styles.column1}>
                    <div style={styles.column1Div}>Cell2</div>
                  </TableCell>
                </TableRow>
                <TableRow>
                  <TableCell style={styles.column1}>
                    <div style={styles.column1Div}>Cell3</div>
                  </TableCell>
                </TableRow>
              </TableBody>
            </Table>
          </TableCell>
          <TableCell style={styles.column2}>
            <div style={styles.column2Div}>Cell4</div>
          </TableCell>
        </TableRow>
      </TableBody>
    </Table>
  );
};

ReactDOM.render(<NestedTableExample />, document.getElementById("app"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@material-ui/core@3.6.2/umd/material-ui.production.min.js"></script>
<div id="app"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...