Sha256: 3e5aae2b644e84d20622935a4f54684c65d63fa869591917d6e5b663a5177d77
Contents?: true
Size: 829 Bytes
Versions: 65
Compression:
Stored size: 829 Bytes
Contents
import React from 'react'; import PropTypes from 'prop-types'; const Select = ({ placeholder, onChange, options, disabled, value, }) => { const renderOptions = arr => arr.map(({ name, id }) => ( <option key={id} value={id}> {name} </option> )); return ( <select disabled={disabled} className="form-control" value={value} onChange={onChange} > <option value="" disabled >{placeholder}</option> {renderOptions(options)} </select> ); }; export default Select; Select.propTypes = { onChange: PropTypes.func.isRequired, options: PropTypes.arrayOf(PropTypes.shape({})).isRequired, disabled: PropTypes.bool, placeholder: PropTypes.string.isRequired, value: PropTypes.string, }; Select.defaultProps = { disabled: false, value: '', };
Version data entries
65 entries across 65 versions & 1 rubygems