如何在Material-ui中删除整个表格周围的边框

4

我正在尝试编辑Material-ui中的一个表格,但我不想将其显示为卡片。我想要删除整个表格周围的边框,并且在文档页面上找不到有关去除边框的任何信息。有人可以帮助我吗?

有关该组件的链接:https://material-ui.com/components/tables/#other

代码:

import React from 'react';
import { withStyles, Theme, createStyles, makeStyles } from '@material-ui/core/styles';
import Table from '@material-ui/core/Table';
import TableBody from '@material-ui/core/TableBody';
import TableCell from '@material-ui/core/TableCell';
import TableContainer from '@material-ui/core/TableContainer';
import TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import Paper from '@material-ui/core/Paper';

......

export default function CustomizedTables() {
  const classes = useStyles();

  return (
    <TableContainer component={Paper}>
      <Table className={classes.table} aria-label="customized table">
        <TableHead>
          <TableRow>
            <StyledTableCell>Dessert (100g serving)</StyledTableCell>
            <StyledTableCell align="right">Calories</StyledTableCell>
            <StyledTableCell align="right">Fat&nbsp;(g)</StyledTableCell>
            <StyledTableCell align="right">Carbs&nbsp;(g)</StyledTableCell>
            <StyledTableCell align="right">Protein&nbsp;(g)</StyledTableCell>
          </TableRow>
        </TableHead>
        <TableBody>
          {rows.map((row) => (
            <StyledTableRow key={row.name}>
              <StyledTableCell component="th" scope="row">
                {row.name}
              </StyledTableCell>
              <StyledTableCell align="right">{row.calories}</StyledTableCell>
              <StyledTableCell align="right">{row.fat}</StyledTableCell>
              <StyledTableCell align="right">{row.carbs}</StyledTableCell>
              <StyledTableCell align="right">{row.protein}</StyledTableCell>
            </StyledTableRow>
          ))}
        </TableBody>
      </Table>
    </TableContainer>
  );
}


你是想要移除行的边框还是整个表格的边框? - Hyetigran
@Hyetigran 我正在尝试去掉整个表格周围的边框。 - Zonaahmmm
2个回答

5

TableContainer使用默认高度的Paper作为其背景,因此它像卡片一样显示。移除component={Paper}部分将删除这些类。

使用方式如下:

<TableContainer >

那很好而且简单! - Hyetigran

3
给TableContainer组件添加className
 <TableContainer className={classes.tableContainer} component={Paper}>

使用useStyle Hook添加自定义样式

const useStyles = makeStyles({
  table: {
    minWidth: 650
  },
  tableContainer: {
    boxShadow: "none"
  }
});

我的方法: 在codesandbox中,我打开了开发工具并检查了该组件,直到找到标签。因为它是最外层,所以很可能是TableContainer组件。

因此,如果您想要消除底部边框,请找出设置该边框的标签,并在useStyle钩子中覆盖这些组件。


谢谢!boxShadow正是我正在寻找的完美属性! - Qui-Gon Jinn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接