Пользовательский интерфейс материала, как обосновать содержание внутри FormControlLabel - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь выровнять метку и переключатель внутри компонента FormControlLabel, чтобы метка занимала одинаковую ширину независимо от текста внутри нее. Вот как это выглядит в настоящее время:

enter image description here

Вот код, который у меня есть:

<RadioGroup row>

    <FormControl>
      <FormControlLabel
        value={first_column_day}
        control={
          <Radio
            value={first_column_day}
          />
        }
        label={<Typography variant={"subtitle2"}>{first_column_day}</Typography>}
        labelPlacement="start"
      />
    </FormControl>

    <FormControl>
      <FormControlLabel
        value={second_column_day}
        control={
          <Radio
            value={second_column_day}
          />
        }
        label={<Typography variant={"subtitle2"}>{second_column_day}</Typography>}
        labelPlacement="start"
      />
    </FormControl>

</RadioGroup>

Я попытался добавить justifyContent для FormControl:

<FormControl style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between' }}>

Я также пытался обернуть Typography в div:

<div><Typography variant={"subtitle2"}>{first_column_day}</Typography></div>

Но это не сработало. Пока единственное, что сработало, это добавление фиксированной ширины к Typography, например, так:

<Typography style={{ width: 75 }} variant={"subtitle2"}>{first_column_day}</Typography>

Но мне не очень нравится это делать, потому что он не отзывчив. Установка ширины на 100% тоже не работает.

1 Ответ

1 голос
/ 15 апреля 2020

Вы можете добавить min-width к FormControlLabel компоненту, если вам нужно выравнивание, как показано ниже, без потери отзывчивости -

enter image description here

Рабочая песочница здесь - https://codesandbox.io/s/material-demo-3u8i2?file= / демо. js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...