/** * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @flow */ 'use strict'; var React = require('react-native'); var { PickerIOS, Text, View, } = React; var PickerItemIOS = PickerIOS.Item; var CAR_MAKES_AND_MODELS = { amc: { name: 'AMC', models: ['AMX', 'Concord', 'Eagle', 'Gremlin', 'Matador', 'Pacer'], }, alfa: { name: 'Alfa-Romeo', models: ['159', '4C', 'Alfasud', 'Brera', 'GTV6', 'Giulia', 'MiTo', 'Spider'], }, aston: { name: 'Aston Martin', models: ['DB5', 'DB9', 'DBS', 'Rapide', 'Vanquish', 'Vantage'], }, audi: { name: 'Audi', models: ['90', '4000', '5000', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'Q5', 'Q7'], }, austin: { name: 'Austin', models: ['America', 'Maestro', 'Maxi', 'Mini', 'Montego', 'Princess'], }, borgward: { name: 'Borgward', models: ['Hansa', 'Isabella', 'P100'], }, buick: { name: 'Buick', models: ['Electra', 'LaCrosse', 'LeSabre', 'Park Avenue', 'Regal', 'Roadmaster', 'Skylark'], }, cadillac: { name: 'Cadillac', models: ['Catera', 'Cimarron', 'Eldorado', 'Fleetwood', 'Sedan de Ville'], }, chevrolet: { name: 'Chevrolet', models: ['Astro', 'Aveo', 'Bel Air', 'Captiva', 'Cavalier', 'Chevelle', 'Corvair', 'Corvette', 'Cruze', 'Nova', 'SS', 'Vega', 'Volt'], }, }; var PickerExample = React.createClass({ getInitialState: function() { return { carMake: 'cadillac', modelIndex: 3, }; }, render: function() { var make = CAR_MAKES_AND_MODELS[this.state.carMake]; var selectionString = make.name + ' ' + make.models[this.state.modelIndex]; return ( Please choose a make for your car: this.setState({carMake, modelIndex: 0})}> {Object.keys(CAR_MAKES_AND_MODELS).map((carMake) => ( ))} Please choose a model of {make.name}: this.setState({modelIndex})}> {CAR_MAKES_AND_MODELS[this.state.carMake].models.map((modelName, modelIndex) => ( ))} You selected: {selectionString} ); }, }); var PickerStyleExample = React.createClass({ getInitialState: function() { return { carMake: 'cadillac', modelIndex: 0, }; }, render: function() { var make = CAR_MAKES_AND_MODELS[this.state.carMake]; var selectionString = make.name + ' ' + make.models[this.state.modelIndex]; return ( this.setState({carMake, modelIndex: 0})}> {Object.keys(CAR_MAKES_AND_MODELS).map((carMake) => ( ))} ); }, }); exports.displayName = (undefined: ?string); exports.title = ''; exports.description = 'Render lists of selectable options with UIPickerView.'; exports.examples = [ { title: '', render: function(): ReactElement { return ; }, }, { title: ' with custom styling', render: function(): ReactElement { return ; }, }];