/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow strict-local
*/
'use strict';
const React = require('react');
const ReactNative = require('react-native');
const StyleSheet = require('StyleSheet');
const {Picker, Text} = ReactNative;
const Item = Picker.Item;
type State = {
value: string | number,
};
class BasicPickerExample extends React.Component<{}, State> {
state = {
value: 'key1',
};
render() {
return (
this.setState({value: v})}>
);
}
}
class DisabledPickerExample extends React.Component<{}, State> {
state = {
value: 'key1',
};
render() {
return (
);
}
}
class DropdownPickerExample extends React.Component<{}, State> {
state = {
value: 'key1',
};
render() {
return (
this.setState({value: v})}
mode="dropdown">
);
}
}
class PromptPickerExample extends React.Component<{}, State> {
state = {
value: 'key1',
};
render() {
return (
this.setState({value: v})}
prompt="Pick one, just one">
);
}
}
type ColorState = {
color: string | number,
};
class ColorPickerExample extends React.Component<{}, ColorState> {
state = {
color: 'red',
};
render() {
return (
<>
this.setState({color: v})}
mode="dropdown">
this.setState({color: v})}
mode="dialog">
>
);
}
}
const styles = StyleSheet.create({
picker: {
width: 100,
},
});
exports.title = '';
exports.description =
'Provides multiple options to choose from, using either a dropdown menu or a dialog.';
exports.examples = [
{
title: 'Basic Picker',
render: function(): React.Element {
return ;
},
},
{
title: 'Disabled Picker',
render: function(): React.Element {
return ;
},
},
{
title: 'Dropdown Picker',
render: function(): React.Element {
return ;
},
},
{
title: 'Picker with prompt message',
render: function(): React.Element {
return ;
},
},
{
title: 'Picker with no listener',
render: function(): React.Element {
return (
<>
Cannot change the value of this picker because it doesn't update
selectedValue.
>
);
},
},
{
title: 'Colorful pickers',
render: function(): React.Element {
return ;
},
},
];