【问题标题】:How to open React MaterialUI dropdown on click?如何在点击时打开 React Material UI 下拉菜单?
【发布时间】:2017-05-16 09:21:58
【问题描述】:

我有一个 Material UI 下拉组件和一个标签。如何点击标签打开这个下拉菜单?

<label>Dash style</label>
<DropDownMenu
    value={this.props.seriesOptions.dashStyle}
    onChange={this.handleDashChange} >
    <MenuItem key={1} value={"Solid"} label="Solid" primaryText="Solid" />
    <MenuItem key={2} value={"ShortDash"} label="ShortDash" primaryText="ShortDash" />
    <MenuItem key={3} value={"ShortDot"} label="ShortDot" primaryText="ShortDot" />
</DropDownMenu>

【问题讨论】:

  • 您说的是默认行为。你导入react-tap-event-plugin了吗?
  • @LeeHanKyeol,不,它对我有什么帮助?是否有我需要添加到标签的 onClick 属性?

标签: reactjs dropdown material-ui


【解决方案1】:

据我所知,DropDownMenu 组件没有让您控制其状态的属性。但是,您可以使用 PopoverMenu 组件来执行此操作。

你可以写类似

        <label onClick={(event) => {
          this.setState({
            open: true,
            anchorEl: event.currentTarget,
          });
        }}>Dash style</label>
        <Popover
          open={this.state.open}
          anchorEl={this.state.anchorEl}
          anchorOrigin={{horizontal: 'left', vertical: 'bottom'}}
          targetOrigin={{horizontal: 'left', vertical: 'top'}}
          onRequestClose={this.handleRequestClose}
          animation={PopoverAnimationVertical}
        >
          <Menu
            value={this.state.dashStyle}
            onChange={this.handleDashChange.bind(this)}
          >
            <MenuItem key={1} value="Solid" primaryText="Solid"/>
            <MenuItem key={2} value="ShortDash" primaryText="ShortDash"/>
            <MenuItem key={3} value="ShortDot" primaryText="ShortDot"/>
          </Menu>
        </Popover>

使用这两个组件。

希望对您有所帮助。

【讨论】:

  • 谢谢。我现在使用了另一种解决方法:绝对定位的下拉菜单,在标签上方有一个填充,这样用户就有点击标签的印象,但实际上点击的是下拉菜单本身。
猜你喜欢
  • 2018-06-17
  • 1970-01-01
  • 2021-02-02
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 2023-03-23
  • 2016-02-06
相关资源
最近更新 更多