【发布时间】:2017-11-16 12:30:08
【问题描述】:
我正在尝试确定 SelectField 是否已展开,即下拉菜单及其 MenuItems 是否可见。
目前我大致使用以下方法:
<SelectField onClick={() => this.setState({ isExpanded: true })} >
<MenuItem primaryText={
<MenuItemContent onHide={() => this.setState({ isExpanded: false })}} />
}>
</SelectField>
在MenuItemContent我实现了
class MenuItemContent extends React.Component {
componentWillUnmount = () => this.props.onHide()
}
这种方法有一个缺点,当您在菜单外单击时,不会立即触发 componentWillUnmount 调用,而是在 200 毫秒后触发,尽管 MenuItems 不再可见。
选择字段菜单可以通过点击展开,展开后,当点击某个菜单项或用户点击菜单外时,它会隐藏。
这是 SelectField 展开时的样子:
这里是折叠的:
【问题讨论】:
标签: reactjs dropdown material-ui