Метка множественного выбора перечеркнута контуром поля ввода - PullRequest
0 голосов
/ 24 декабря 2018

Я сделал список множественного выбора с Material-UI.Но когда я выбираю элемент, метка должна сжиматься и вписываться в контур поля ввода.Проблема в том, что контур остается прежним, а ярлык за ним сжимается.

Я пытался найти решение в документации по Material-UI.Похоже, что не существует какого-либо варианта выбора из нескольких списков.Так что мне интересно, если это потому, что не существует описанного варианта списка множественного выбора, или это связано с чем-то еще.

<FormControl
   variant="outlined"
   fullWidth
>
   <InputLabel
      ref={ref => {
         this.InputLabelRef = ref;
      }}
      htmlFor="members"
      error={this.props.touched.members && Boolean(this.props.errors.members)}
   >
      Members
   </InputLabel>
   <Select
      onChange={this.change.bind(null, "members")}
      multiple
      value={this.state.members}
      error={this.props.touched.members && Boolean(this.props.errors.members)}
       input={
          <OutlinedInput
              labelWidth={0}
              name="members"
              id="members"
          />
        }
     >
     <MenuItem value={'Baspa'}>Baspa</MenuItem>
     <MenuItem value={'Plorky'}>Plorky</MenuItem>
     <MenuItem value={'Rizzels'}>Rizzels</MenuItem>
    </Select>

Я также сделал CodeSandBox: https://codesandbox.io/s/jnlx1vky39

Вот как это выглядит:

Picture of the form

https://imgur.com/a/Wpf7OE0

1 Ответ

0 голосов
/ 24 декабря 2018

Вы пропустили пару частей, показанных в документации, которые позволяют контуру узнать ширину этикетки:

  componentDidMount() {
    this.setState({
      labelWidth: ReactDOM.findDOMNode(this.InputLabelRef).offsetWidth
    });
  }
... 
 <OutlinedInput labelWidth={this.state.labelWidth} name="members" id="members" />

Вот полный код:

Edit r1r9wxmljo

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