forked from ant-design/ant-design-mobile
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.tsx
36 lines (35 loc) · 1.08 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import * as React from 'react';
import { PropTypes } from 'react';
import Menu, { MenuContext, MenuOptions, MenuOption, MenuTrigger } from 'react-native-menu';
import tsPropsType from './PropsType';
export default class Popover extends React.Component<tsPropsType, any> {
static propTypes = {
children: PropTypes.any,
};
static defaultProps = {
onSelect: () => {},
};
static Item = MenuOption;
render() {
const {
children, onSelect, overlay, disabled, contextStyle,
name, style, triggerStyle, overlayStyle, renderOverlayComponent,
} = this.props;
const menuOptionsProp = {
optionsContainerStyle: overlayStyle,
renderOptionsContainer: renderOverlayComponent,
};
return (
<MenuContext ref="menuContext" style={contextStyle}>
<Menu name={name} onSelect={onSelect} style={style}>
<MenuTrigger disabled={disabled} style={triggerStyle}>
{children}
</MenuTrigger>
<MenuOptions {...menuOptionsProp}>
{overlay}
</MenuOptions>
</Menu>
</MenuContext>
);
}
}