React Native 弹出菜单移动选项框
React Native Popup Menu Moving the Options Box
我有一个 React Native 弹出菜单实现如下:
import React, { Component } from 'react';
import { Text } from 'react-native';
import { Icon, Divider } from 'react-native-elements';
import {
Menu,
MenuTrigger,
MenuOptions,
MenuOption
} from 'react-native-popup-menu';
import { connect } from 'react-redux';
import firebase from 'firebase';
import { STATUS_BAR_HEIGHT } from '../constants';
class PopUpMenu extends Component {
render() {
const { menuStyle, menuOptionsStyle, menuTriggerStyle } = styles;
return (
<Menu style={menuStyle}>
<MenuTrigger style={menuTriggerStyle}>
<Icon
name="menu"
color="white"
size={30}
/>
</MenuTrigger>
<MenuOptions style={menuOptionsStyle}>
<MenuOption>
<Text>{this.props.user.email}</Text>
</MenuOption>
<MenuOption>
<Divider />
</MenuOption>
<MenuOption text="Log Out" onSelect={() => this.signOutUser()} />
</MenuOptions>
</Menu>
);
}
}
const styles = {
menuStyle: {
marginTop: STATUS_BAR_HEIGHT,
marginRight: 12
},
menuTriggerStyle: {},
menuOptionsStyle: {}
};
目前看起来是这样关闭的:
这打开了:
我想让打开的盒子向下移动到触发按钮下方,同时仍将触发器保持在同一位置。我怎样才能用样式完成它?
您可以通过将 optionsContainerStyle
道具而不是样式道具传递给 MenuOptions 组件来实现。
像这样。
<MenuOptions optionsContainerStyle={{ marginTop: 40 }}>
...
</MenuOptions>
我有一个 React Native 弹出菜单实现如下:
import React, { Component } from 'react';
import { Text } from 'react-native';
import { Icon, Divider } from 'react-native-elements';
import {
Menu,
MenuTrigger,
MenuOptions,
MenuOption
} from 'react-native-popup-menu';
import { connect } from 'react-redux';
import firebase from 'firebase';
import { STATUS_BAR_HEIGHT } from '../constants';
class PopUpMenu extends Component {
render() {
const { menuStyle, menuOptionsStyle, menuTriggerStyle } = styles;
return (
<Menu style={menuStyle}>
<MenuTrigger style={menuTriggerStyle}>
<Icon
name="menu"
color="white"
size={30}
/>
</MenuTrigger>
<MenuOptions style={menuOptionsStyle}>
<MenuOption>
<Text>{this.props.user.email}</Text>
</MenuOption>
<MenuOption>
<Divider />
</MenuOption>
<MenuOption text="Log Out" onSelect={() => this.signOutUser()} />
</MenuOptions>
</Menu>
);
}
}
const styles = {
menuStyle: {
marginTop: STATUS_BAR_HEIGHT,
marginRight: 12
},
menuTriggerStyle: {},
menuOptionsStyle: {}
};
目前看起来是这样关闭的:
这打开了:
我想让打开的盒子向下移动到触发按钮下方,同时仍将触发器保持在同一位置。我怎样才能用样式完成它?
您可以通过将 optionsContainerStyle
道具而不是样式道具传递给 MenuOptions 组件来实现。
像这样。
<MenuOptions optionsContainerStyle={{ marginTop: 40 }}>
...
</MenuOptions>