Files
react-native-popup-menu/examples/MenuMethodsExample.js
T

46 lines
1.1 KiB
JavaScript
Raw Normal View History

2017-01-19 11:56:39 +01:00
import React, { Component } from 'react';
import { Text, TouchableOpacity } from 'react-native';
import Menu, {
MenuContext,
MenuOptions,
MenuOption,
MenuTrigger
} from 'react-native-popup-menu';
export default class ControlledExample extends Component {
onOptionSelect(value) {
alert(`Selected number: ${value}`);
if (value === 1) {
2017-05-12 14:53:55 +02:00
this.menu.close();
2017-01-19 11:56:39 +01:00
}
return false;
}
openMenu() {
2017-05-12 14:53:55 +02:00
this.menu.open();
}
onRef = r => {
this.menu = r;
2017-01-19 11:56:39 +01:00
}
render() {
return (
<MenuContext style={{flexDirection: 'column', padding: 30}}>
2017-05-12 14:53:55 +02:00
<Menu onSelect={value => this.onOptionSelect(value)} ref={this.onRef}>
2017-01-19 11:56:39 +01:00
<MenuTrigger text='Select option'/>
<MenuOptions>
<MenuOption value={1} text='One' />
<MenuOption value={2} text='Two (not closing)' />
</MenuOptions>
</Menu>
<TouchableOpacity style={{ paddingTop: 50 }} onPress={() => this.openMenu()}>
<Text>Open menu from outside</Text>
</TouchableOpacity>
</MenuContext>
);
}
}