UNPKG

react-native

Version:

A framework for building native apps using React

91 lines (83 loc) 2.48 kB
/** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @providesModule PickerAndroidTestModule */ 'use strict'; var BatchedBridge = require('BatchedBridge'); var React = require('React'); var RecordingModule = require('NativeModules').PickerAndroidRecordingModule; var Picker = require('Picker'); var View = require('View'); var Item = Picker.Item; var appInstance; var PickerAndroidTestApp = React.createClass({ componentWillMount: function() { appInstance = this; }, getInitialState: function() { return { selected: 1, mode: 'dropdown', style: {}, }; }, render: function() { return ( <View collapsable={false}> <Picker mode="dialog" prompt="prompt" style={this.state.style} selectedValue={this.state.selected} onValueChange={this.onValueChange}> <Item label="item1" color="#ff0000" value={0} /> <Item label="item2" color="#00ff00" value={1} /> <Item label="item3" color="#0000ff" value={2} /> </Picker> <Picker mode={this.state.mode}> <Item label="item1" /> <Item label="item2" /> </Picker> <Picker enabled={false}> <Item label="item1" /> <Item label="item2" /> </Picker> <Picker mode="dropdown" selectedValue={this.state.selected} onValueChange={this.onValueChange}> <Item label="item in sync 1" value={0} /> <Item label="item in sync 2" value={1} /> <Item label="item in sync 3" value={2} /> </Picker> </View> ); }, onValueChange: function(value) { this.setState({selected: value}); RecordingModule.recordSelection(value); }, }); var PickerAndroidTestModule = { PickerAndroidTestApp: PickerAndroidTestApp, selectItem: function(value) { appInstance.setState({selected: value}); }, setMode: function(mode) { appInstance.setState({mode: mode}); }, setPrimaryColor: function(color) { appInstance.setState({style: {color}}); }, }; BatchedBridge.registerCallableModule( 'PickerAndroidTestModule', PickerAndroidTestModule ); module.exports = PickerAndroidTestModule;