如何在Material UI(React JS)中根据需要制作“选择”组件

发布于 2021-01-31 22:44:36

除非有选择的选项,否则我想显示类似红色的错误。有没有办法做到这一点。

关注者
0
被浏览
67
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    要在Material UI中设置必填的Select字段,您可以执行以下操作:

    class SimpleSelect extends React.PureComponent {
      state = {
        selected: null,
        hasError: false
      }
    
      handleChange(value) {
        this.setState({ selected: value });
      }
    
      handleClick() {
        this.setState(state => ({ hasError: !state.selected }));
      }
    
      render() {
        const { classes } = this.props;
        const { selected, hasError } = this.state;
    
        return (
          <form className={classes.root} autoComplete="off">
            <FormControl className={classes.formControl} error={hasError}>
              <InputLabel htmlFor="name">
                Name
              </InputLabel>
              <Select
                name="name"
                value={selected}
                onChange={event => this.handleChange(event.target.value)}
                input={<Input id="name" />}
              >
                <MenuItem value="hai">Hai</MenuItem>
                <MenuItem value="olivier">Olivier</MenuItem>
                <MenuItem value="kevin">Kevin</MenuItem>
              </Select>
              {hasError && <FormHelperText>This is required!</FormHelperText>}
            </FormControl>
            <button type="button" onClick={() => this.handleClick()}>
              Submit
            </button>
          </form>
        );
      }
    }
    

    CodeSandBox上的工作演示

    修改soanswer51605798



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看