diff --git a/packages/react-native-web/src/exports/Picker/index.js b/packages/react-native-web/src/exports/Picker/index.js index 3a1df545..a2336c45 100644 --- a/packages/react-native-web/src/exports/Picker/index.js +++ b/packages/react-native-web/src/exports/Picker/index.js @@ -18,10 +18,11 @@ import StyleSheetPropType from '../../modules/StyleSheetPropType'; import StyleSheet from '../StyleSheet'; import TextPropTypes from '../Text/TextPropTypes'; import { arrayOf, bool, func, number, oneOfType, string } from 'prop-types'; +import ViewPropTypes, { type ViewProps } from '../ViewPropTypes'; const pickerStyleType = StyleSheetPropType(PickerStylePropTypes); -type Props = { +type Props = ViewProps & { children?: PickerItem | Array, enabled?: boolean, onValueChange?: Function, @@ -36,6 +37,7 @@ type Props = { class Picker extends Component { static propTypes = { + ...ViewPropTypes, children: oneOfType([PickerItemPropType, arrayOf(PickerItemPropType)]), enabled: bool, onValueChange: func, @@ -56,8 +58,9 @@ class Picker extends Component { /* eslint-disable */ itemStyle, mode, - prompt + prompt, /* eslint-enable */ + ...otherProps } = this.props; return createElement('select', { @@ -66,7 +69,8 @@ class Picker extends Component { onChange: this._handleChange, style: [styles.initial, style], testID, - value: selectedValue + value: selectedValue, + ...otherProps }); } diff --git a/packages/website/storybook/1-components/Picker/PickerScreen.js b/packages/website/storybook/1-components/Picker/PickerScreen.js index 90897ac3..ea4ed029 100644 --- a/packages/website/storybook/1-components/Picker/PickerScreen.js +++ b/packages/website/storybook/1-components/Picker/PickerScreen.js @@ -23,6 +23,8 @@ const PickerScreen = () => ( Renders the native <select> component.
+ +