如何让输入无线电元素在react [material-ui]中水平对齐?

时间:2015-11-12 19:54:06

标签: css reactjs material-ui

无线电组始终在材料-ui中列出。有没有办法水平对齐它们?例如所有单选按钮都在一条水平线上。

6 个答案:

答案 0 :(得分:21)

要连续渲染单选按钮:

<RadioButtonGroup style={{ display: 'flex' }}>

根据内容重置大小:

<RadioButton style={{ width: 'auto' }} />

答案 1 :(得分:16)

只需使用row属性:

<RadioGroup row><Radio /><Radio /></RadioGroup>

RadioGroup 继承自 FormGroup ,因此 FormGroup 组件的属性也可用。

答案 2 :(得分:2)

对于那些仍在挣扎的人,请使用以下样式:

const styles = theme => ({
    group: {
        width: 'auto',
        height: 'auto',
        display: 'flex',
        flexWrap: 'nowrap',
        flexDirection: 'row',
    }
});

class MyComponent extends React.Component {

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

        <RadioGroup className={classes.group} ...>
    }

};

export default withStyles(styles)(MyComponent);

答案 3 :(得分:2)

您只需要在 row 中提及 <RadioGroup>。 你可以这样写你的代码:

      <FormControl component="fieldset">
        <FormLabel >Lable</FormLabel>
        <RadioGroup aria-label="overall_sal" name="Overall SAL" value={value} onChange={handleChange} row>
          <FormControlLabel value="low" control={<Radio />} label="Low" />
        </RadioGroup>
      </FormControl>

答案 4 :(得分:1)

我不能发表评论,但要补充说@lambdakris说的话: 您可能还需要添加flexDirection:&#39; row&#39;。进行这些更改而不是使用内联样式的最简单方法是将css添加到material-ui已经使用的样式对象和类中。

const styled = theme => ({
 formControl: {
                margin: theme.spacing.unit * 3,
                width: "100%", //parent of radio group
              },
       group: {
               flexDirection: 'row',
               justifyContent: 'space-around',
               }
             });
...........
<RadioButtonGroup className={classes.group}>

答案 5 :(得分:0)

只需在RadioGroup控件上添加道具 row = {true}

 <RadioGroup
      aria-label="Location"
      name="location"
      className={classes.group}
      value={location}
      onChange={handleChange}
      row={true}
      >
         <FormControlLabel value="company" control={<Radio />} label="Company" />
         <FormControlLabel value="home" control={<Radio />} label="Home" />
         <FormControlLabel value="other" control={<Radio />} label="Other" />
 </RadioGroup>