javascript - 无法对齐网格项目之间的分隔线
问题描述
我想在项目Divider
之间有Grid
。
输出应该是这样的: -
第 1 栏 | 第 2 栏 | 第 3 栏
虽然在我的代码中我看不到Divider
并且项目以垂直方式对齐。
import "./styles.css";
import { Grid, Divider } from "@material-ui/core";
export default function App() {
const tempArray = ['Col 1', 'Col 2', 'Col 3'];
return(
<Grid container align='center' direction='column'>
{tempArray.map((title)=>{
return(
<Grid container direction='row'>
<Grid item xs>
<strong>{title}</strong>
</Grid>
<Divider orientation='vertical' flexItem></Divider>
</Grid>
);
}
)}
</Grid>
);
}
另外,我不确定如何跳过最后一项的分隔符。
这是代码沙箱链接。
解决方案
容器内的Grid
sGrid
需要将xs
prop 设置true
为允许它共享可用空间(docs)。否则它将尝试占据整个视口宽度,这是默认行为。
我不确定如何跳过最后一项的分隔线。
Divider
您可以根据当前索引有条件地渲染:
{i !== tempArray.length - 1 && (
<Divider orientation="vertical" flexItem></Divider>
)}
完整的工作代码:
<Grid container align="center">
{tempArray.map((title, i) => {
return (
<Grid key={title} item container xs /* <------------------ add this */>
<Grid item xs>
<strong>{title}</strong>
</Grid>
{i !== tempArray.length - 1 && (
<Divider orientation="vertical" flexItem></Divider>
)}
</Grid>
);
})}
</Grid>
推荐阅读
- rust - 为什么`min_by`和`max_by`返回`Option
` 在 Rust 中? - xcode - 如何启用对我的 iPhone 应用程序容器的访问以进行调试
- python - 按月汇总的 Python 时间序列条件计算
- wordpress - meta_query 没有按 WP_query 中的预期使用 tax_query
- visual-c++ - 在进入 WinMain 之前从 MSVC 地址清理程序中获取异常
- reactjs - React 路由器将我重定向到 /[object%20Object] 而不是 /login
- arrays - 不能被M整除的数组元素的最大和,最多删除/避免K个连续的数组元素
- java - 如何每秒更新 Date()?
- sql - 在 SQL 中根据特定条件查找项目
- java - 隔离偶数奇数