我有一个下拉菜单,其中有一个嵌套的菜单,如下所示。
展开后的下拉菜单显示两个选项:
问题是在单击任何项目时,Tenant Name或Dealer ID下的子选项会显示一秒钟,然后消失。如何解决此问题,接下来是如何存储用户选择的值?
我的代码如下:
export default class DropDownMenuSimpleExample extends React.Component {
constructor(props) {
super(props);
this.state = {
dropDownData: [
{
value: '',
tenantName: '',
dealerId: '',
},
],
};
}
handleChange = (event, index, value) => {
this.setState({ value });
console.log(event, index, value);
}
render() {
return (
<DropDownMenu
style={styles.customWidth}
anchorOrigin={{ horizontal: 'left', vertical: 'top' }}
targetOrigin={{ horizontal: 'left', vertical: 'top' }}
className={{ backgroundcolor: '#CFD8DC' }}
>
<MenuItem
value={this.state.value}
onChange={this.handleChange}
primaryText="TENANT NAME"
rightIcon={<ArrowDropRight />}
menuItems={[
<MenuItem value={100} primaryText="CA-CAR" />,
<Divider />,
<MenuItem value={101} primaryText="TEKION" />,
]}
/>
<MenuItem
value={this.state.value}
onChange={this.handleChange}
primaryText="DEALER ID"
rightIcon={<ArrowDropRight />}
menuItems={[
<MenuItem value={1} primaryText="1" />,
<MenuItem value={2} primaryText="2" />,
<MenuItem value={3} primaryText="2" />,
<MenuItem value={4} primaryText="4" />,
]}
/>
</DropDownMenu>
);
}
}
2条答案
按热度按时间tkclm6bt1#
要获取用户选择的值,您需要绑定一个onChange事件,如
不知道为什么你的列表会出现一秒钟。检查控制台,看看它是否显示任何错误。你仍然可以尝试 Package 你的材料ui组件
但我认为你错过了webpack中的一些加载程序,这可能是为什么行为不寻常的原因
这是我的webpack配置,看看是否有帮助
jjjwad0x2#
让我们看看下面的源代码,它可以帮助你建立更多的理解:
Dropdown.js这是一个Dropdown组件类,它帮助我们呈现下拉菜单内容。当用户单击下拉菜单时,此组件类将在浏览器中呈现更新的下拉菜单列表。
显示下拉菜单:此方法有助于显示下拉菜单内容。hideDropdownMenu:此方法有助于隐藏下拉菜单内容。
style.css这是下拉菜单的样式表设计。
}
index.js这是帮助显示下拉菜单的主要组件。