【问题标题】:Not able to update the selected option in material UI dropdown无法更新材质 UI 下拉列表中的选定选项
【发布时间】:2019-10-25 04:50:16
【问题描述】:

我有下面的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,
    }));
};

我的代码有什么问题?请推荐

【问题讨论】:

    标签: javascript html reactjs drop-down-menu material-ui


    【解决方案1】:

    我认为你需要使用 name 而不是 Name as

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

    希望对你有帮助

    【讨论】:

    • 很抱歉通知,但它仍然没有更新值
    • 好的,我知道了,连同你的代码,这也需要更新为inputProps={{ name: 'Name', id: 'outlined-Name', }}
    猜你喜欢
    • 2021-07-17
    • 2021-12-17
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2021-09-17
    • 2018-03-25
    相关资源
    最近更新 更多