Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. function Select({ inputName, inputId, label, collection, value, selectPrompt, onChange, required }) {
  2. const options = collection.map((item) =>
  3. <option key={item[0]} value={item[0]}>{item[1]}</option>
  4. );
  5. return (
  6. <div className="form-group">
  7. <label className="form-control-label" htmlFor={inputId}>{label}</label>
  8. <select
  9. required={required}
  10. name={inputName}
  11. id={inputId}
  12. className="select form-control"
  13. value={value}
  14. onChange={onChange}
  15. aria-describedby={`${inputId}_error`}
  16. >
  17. <option value="">{selectPrompt}</option>
  18. {options}
  19. </select>
  20. <span id={`${inputId}_error`} className="form-control-invalid" />
  21. </div>
  22. );
  23. }
  24.  
  25. Select.propTypes = {
  26. inputName: React.PropTypes.string.isRequired,
  27. inputId: React.PropTypes.string.isRequired,
  28. collection: React.PropTypes.array.isRequired,
  29. label: React.PropTypes.string,
  30. value: React.PropTypes.string,
  31. selectPrompt: React.PropTypes.string,
  32. onChange: React.PropTypes.func,
  33. required: React.PropTypes.bool,
  34. };
  35.  
  36. Select.defaultProps = {
  37. selectPrompt: 'Please select',
  38. };
  39.  
  40. window.Select = Select;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement