我正在用react js构建一个Web应用程序,并且正在使用material-ui组件库。我正在使用表格组件,它在台式机上看起来不错,但我希望它进行调整并在移动浏览器上也不错。 material-ui支持这样的事情吗?我该怎么做?当前情况的示例: PC \手机:
源代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.servicepractice">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".AudioService"
android:label="@string/app_name"
android:enabled="true"/>
</application>
</manifest>
答案 0 :(得分:5)
对于每个表单元格的 Material-UI 表padding-right
和padding-left
,
您可以在Codesandbox
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } 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 TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import Paper from '@material-ui/core/Paper';
const styles = theme => ({
root: {
display: 'flex',
marginTop: theme.spacing.unit * 3,
overflowX: 'hide',
},
table: {
minWidth: 340,
},
tableCell: {
paddingRight: 4,
paddingLeft: 5
}
});
let id = 0;
function createData(name, calories, fat, carbs, protein) {
id += 1;
return { id, name, calories, fat, carbs, protein };
}
const data = [
createData('Frozen yoghurt', 159, 6.0, 24, 4.0),
createData('Ice cream sandwich', 237, 9.0, 37, 4.3),
createData('Eclair', 262, 16.0, 24, 6.0),
createData('Cupcake', 305, 3.7, 67, 4.3),
createData('Gingerbread', 356, 16.0, 49, 3.9),
];
function SimpleTable(props) {
const { classes } = props;
return (
<Paper className={classes.root}>
<Table className={classes.table}>
<TableHead>
<TableRow>
<TableCell className={classes.tableCell}>Dessert (100g serving)</TableCell>
<TableCell numeric className={classes.tableCell}>Calories</TableCell>
<TableCell numeric className={classes.tableCell}>Fat (g)</TableCell>
<TableCell numeric className={classes.tableCell}>Carbs (g)</TableCell>
<TableCell numeric className={classes.tableCell}>Protein (g)</TableCell>
</TableRow>
</TableHead>
<TableBody>
{data.map(n => {
return (
<TableRow key={n.id}>
<TableCell component="th" scope="row" className={classes.TableCell}>
{n.name}
</TableCell>
<TableCell numeric className={classes.tableCell}>{n.calories}</TableCell>
<TableCell numeric className={classes.tableCell}>{n.fat}</TableCell>
<TableCell numeric className={classes.tableCell}>{n.carbs}</TableCell>
<TableCell numeric className={classes.tableCell}>{n.protein}</TableCell>
</TableRow>
);
})}
</TableBody>
</Table>
</Paper>
);
}
SimpleTable.propTypes = {
classes: PropTypes.object.isRequired,
};
export default withStyles(styles)(SimpleTable);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
要使其响应,您首先必须使用 Grid system ,这是整页的网格系统:
<Grid item xs={12}>
<Table/>
</Grid>