当前位置: 首页 > 知识库问答 >
问题:

React MaterialUI选择MenuItem组件,当未选择时应打印值

穆乐逸
2023-03-14

我是一个新的反应,我正在使用材料UI与反应为一个项目。我创建了一个Select MenuItem组件。在其中,我传递了一个图像作为值。因此,如果用户选择了一个选项,它将打印图像。我的要求是,当没有选择,它应该打印所有的值。甚至,当页面加载时,它应该默认显示所有的图像。

我的代码:

      state = {
   name: '',
   open: false,
 };

 handleChange = event => {
   this.setState({ [event.target.name]: event.target.value });
 };

 handleClose = () => {
   this.setState({ open: false });
 };

 handleOpen = () => {
   this.setState({ open: true });
 };
 componentDidMount() {
    this.setState({
      labelWidth: ReactDOM.findDOMNode(this.InputLabelRef).offsetWidth,
    });
  }

    <FormControl variant="outlined" className={classes.formControl}>
                <InputLabel
                  ref={ref => {
                    this.InputLabelRef = ref;
                  }}
                  classes={{
                shrink: classes.inputLabelShrink
              }}
                  htmlFor="outlined-name-simple"
                  className="drop-input"
                >
                  I am a
                </InputLabel>
                <Select
                  value={this.state.name}
                  onChange={this.handleChange}
                  className="drop-select"
                  input={
                    <OutlinedInput
                      labelWidth={this.state.labelWidth}
                      name="name"
                      id="outlined-name-simple"
                    />
                  }

                >

                  <MenuItem className={classes.outlineInput} value={img}>School Administrator</MenuItem>
                  <MenuItem className={classes.outlineInput} value={img}>Business Administrator</MenuItem>
                  <MenuItem className={classes.outlineInput} value={img}>Non-profit Administrator</MenuItem>
                  <MenuItem className={classes.outlineInput} value={img}>Volunteer</MenuItem>
                </Select>
              </FormControl>

<img src={this.state.name} />

提前道谢。

共有2个答案

江浩慨
2023-03-14
{ this.state.name ?(
              <img src={this.state.name} />
            ) : (

               <div className="right-img">
                  <img src={img} alt="" />
                  <img src={img} alt="" />
                  <img src={img} alt="" />
                  <img src={img} alt="" />
                </div>
          )}
裴焱
2023-03-14

替换行

<img src={this.state.name} />

使用条件检查this.state.name,如果为空,则显示所有图片:

{ this.state.name ? 
    <div>
        <img src={"..."} />
        <img src={"...'} />
        <img src={"..."} />
        //do this for each of the pictures you want to display
    </div>
 :
    <img src={this.state.name} />

}

用要显示的图像的URL替换src

 类似资料:
  • 问题内容: 如果存储在db中的user_choices值为1,如何打印对应的user_choices对应值(即1 == GOOD) 问题答案:

  • Since 9.9.0 beehiveOptionsPicker 类似于safari原生select的组件,但是功能更加强大 一般用来替代select,或者2级数据的选择,注意不支持2级数据之间的联动。 使用方法 // 单列选项 AlipayJSBridge.call('beehiveOptionsPicker', { title: "hello", optionsOne: ["1

  • 选择器提供了一个简单的方法来从一个预定义集合中选取单个值。 在手机上,选择器最适合被用来显示一个确认对话框。对于内联显示,例如一个表单中,考虑使用分段下拉按钮之类的紧凑控制。在你的应用中使用这些组件可以帮你保证用户指定的日期或者时间是正确格式化的。 日期选择器的格式根据地区自动进行调整,即,美国是月-日-年,其他地区是日-月-年。 时间选择器的格式根据用户的喜好进行设定,即,12小时或者 24 小

  • 问题内容: 好的,一段时间以来,我一直在寻找答案,但我遇到的所有问题(甚至在搜索javascript时)都与jQuery结合在一起!没人再使用普通的javascript吗?!? 因此,我想要一个下拉列表(使用多个选项进行选择)。选择某个选项后,我希望显示一个隐藏的div。 然后,我尝试使用以下JavaScript代码: 我猜我的问题出在选项中的onClick触发器上,但是我不确定还有什么用?或者,

  • 我正在尝试从一个select表单中获取一个时间值。我在代码中看不到任何错误,尝试更改所有类名和变量,但值仍然没有被get select。(提交表单后我看不到所选的值) 代码添加如下:

  • 选择控制器允许用户选择选项。有三种类型:复选框、单选框以及开/关切换。选择控制器使用主题同样的颜色。 复选框 单选按钮 切换开关 复选框 复选框允许用户从一个数据集中选择多个选项。 如果在一个列表中有多个选项,你可以通过使用复选框而不是开/关切换来节省空间。 如果你有一个单选项,不要用复选框,使用开/关切换。 白色主题 黑色主题 白色 开: Swatch 500, 透明度 100% 关: #000