1
目前我可以通过点击一个菜单触发器打开一个菜单,并且效果很好。我正在尝试实现一个过程,以便我可以打开菜单-a,从菜单中选择一个选项-a,然后使用slide in方法打开菜单-b。这个模块有可能吗?是否可以用菜单选项打开另一个菜单?
目前我可以通过点击一个菜单触发器打开一个菜单,并且效果很好。我正在尝试实现一个过程,以便我可以打开菜单-a,从菜单中选择一个选项-a,然后使用slide in方法打开菜单-b。这个模块有可能吗?是否可以用菜单选项打开另一个菜单?
您可以使用菜单controlled component来声明哪些菜单应该打开并关闭哪个菜单。例如:
export default class ControlledExample extends Component {
state = {
opened1: false,
opened2: false,
}
render() {
return (
<MenuContext style={{ flexDirection: 'column', padding: 30 }}>
<Menu
opened={this.state.opened1}
onBackdropPress={() => this.setState({ opened1: false })}
onSelect={() =>
this.setState({
opened1: false,
opened2: true,
})}
>
<MenuTrigger
onPress={() => this.setState({ opened1: true })}
text="Select option"
/>
<MenuOptions>
<MenuOption value={1} text="One" />
<MenuOption value={2} text="Two" />
<MenuOption value={3} text="Three" />
</MenuOptions>
</Menu>
<Menu
renderer={SlideInMenu}
opened={this.state.opened2}
onBackdropPress={() => this.setState({ opened2: false })}
onSelect={() => this.setState({ opened2: false })}
>
<MenuTrigger />
<MenuOptions>
<MenuOption value={1} text="One *" />
<MenuOption value={2} text="Two *" />
<MenuOption value={3} text="Three *" />
</MenuOptions>
</Menu>
</MenuContext>
)
}
}
太棒了,谢谢! – boboboliao