Невозможно обновить выбранную опцию в раскрывающемся списке материалов. - PullRequest
0 голосов
/ 25 октября 2019

У меня ниже material ui код для select dropdown, который не может обновить выбранную опцию в раскрывающемся списке.

 <FormControl variant="outlined" className={classes.formControl}>
    <InputLabel ref={inputLabel} htmlFor="outlined-Name">
      Name
    </InputLabel>
    <Select
      value={values.Name}
      onChange={handleBChange}
      labelWidth={labelWidth}
       inputProps={{
       Name: 'Name',
       id: 'outlined-Name',
     }}
  >
  <MenuItem value="">
   <em>None</em>
  </MenuItem>
  <MenuItem value="1">Name1</MenuItem>
  <MenuItem value="2">Name2</MenuItem>
  <MenuItem value="3">Name3</MenuItem>
  </Select>
  </FormControl>

и ниже - требуемые события и JS.

const [values, setValues] = React.useState({
    Name: ''
});


const inputLabel = React.useRef(null);
const [labelWidth, setLabelWidth] = React.useState(0);
React.useEffect(() => {
    setLabelWidth(inputLabel.current.offsetWidth);
}, []);

const handleBChange = event => {
    event.preventDefault();
    debugger;
    setValues(oldValues => ({
        ...oldValues,
        [event.target.Name]: event.target.value,
    }));
};

Что не так в моем коде? Пожалуйста, предложите

1 Ответ

1 голос
/ 25 октября 2019

Я думаю, вам нужно использовать имя, а не имя, как

const handleBChange = event => {
event.preventDefault();
setValues(oldValues => ({
    ...oldValues,
    [event.target.name]: event.target.value,
}));
};

Надеюсь, это поможет

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