gpt4 book ai didi

javascript - 如何使 Material-UI 单选按钮 float : left

转载 作者:行者123 更新时间:2023-11-30 14:35:37 25 4
gpt4 key购买 nike

https://codesandbox.io/s/9zxzj0r664

enter image description here

^ 在上面的演示中你可以看到工作代码,无论如何只是尝试水平对齐单选按钮很困难。

在 Material-UI 中是否有一种简单的方法可以做到这一点?或者我是否必须设计自己的单选按钮样式,我本可以在 5 分钟内完成,哈哈。

import React from "react";
import PropTypes from "prop-types";
import { withStyles } from "@material-ui/core/styles";
import Radio from "@material-ui/core/Radio";
import RadioGroup from "@material-ui/core/RadioGroup";
import FormHelperText from "@material-ui/core/FormHelperText";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import FormControl from "@material-ui/core/FormControl";
import FormLabel from "@material-ui/core/FormLabel";

const styles = theme => ({
root: {
display: "flex"
},
formControl: {
float: "left",
margin: theme.spacing.unit * 3
},
group: {
margin: `${theme.spacing.unit}px 0`
}
});

class RadioButtonsGroup extends React.Component {
state = {
value: "female"
};

handleChange = event => {
this.setState({ value: event.target.value });
};

render() {
const { classes } = this.props;

return (
<div className={classes.root}>
<FormControl
component="fieldset"
required
className={classes.formControl}
>
<FormLabel component="legend">Gender</FormLabel>
<RadioGroup
aria-label="gender"
name="gender1"
className={classes.group}
value={this.state.value}
onChange={this.handleChange}
>
<FormControlLabel
value="female"
control={<Radio />}
label="Female"
/>
<FormControlLabel value="male" control={<Radio />} label="Male" />
<FormControlLabel value="other" control={<Radio />} label="Other" />
<FormControlLabel
value="disabled"
disabled
control={<Radio />}
label="(Disabled option)"
/>
</RadioGroup>
</FormControl>
<FormControl
component="fieldset"
required
error
className={classes.formControl}
>
<FormLabel component="legend">Gender</FormLabel>
<RadioGroup
aria-label="gender"
name="gender2"
className={classes.group}
value={this.state.value}
onChange={this.handleChange}
>
<FormControlLabel
value="male"
control={<Radio color="primary" />}
label="Male"
/>
<FormControlLabel
value="female"
control={<Radio color="primary" />}
label="Female"
/>
<FormControlLabel
value="other"
control={<Radio color="primary" />}
label="Other"
/>
<FormControlLabel
value="disabled"
disabled
control={<Radio />}
label="(Disabled option)"
/>
</RadioGroup>
<FormHelperText>You can display an error</FormHelperText>
</FormControl>
</div>
);
}
}

RadioButtonsGroup.propTypes = {
classes: PropTypes.object.isRequired
};

export default withStyles(styles)(RadioButtonsGroup);

最佳答案

https://codesandbox.io/s/n03mo5nz2m

RadioGroup 元素包含单选按钮。如果您想连续呈现它们,最简单的方法可能是使用 flexbox 行。

你可以看到我在上面的codesandbox中做了什么,但是它就像添加到group样式一样简单:

flexDirection: 'row',

这是可行的,因为 Material-UI 已经为组使用了 flexbox 样式。这也是无法在此处添加 float: 'left' 的原因。

您还可以在组上设置 display: 'inline-block':

display: 'inline-block'

这也将实现行样式,但控制选项较少。

关于javascript - 如何使 Material-UI 单选按钮 float : left,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50474711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com