Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

59 строки
1.5 KiB

  1. import React from "react";
  2. import TextInput from "../common/TextInput";
  3. import PropTypes from "prop-types";
  4. function CourseForm(props) {
  5. return (
  6. <form onSubmit={props.onSubmit}>
  7. <TextInput
  8. id="title"
  9. label="Title"
  10. onChange={props.onChange}
  11. name="title"
  12. value={props.course.title}
  13. error={props.errors.title}
  14. />
  15. <div className="form-group">
  16. <label htmlFor="author">Author</label>
  17. <div className="field">
  18. <select
  19. id="author"
  20. name="authorId"
  21. onChange={props.onChange}
  22. value={props.course.authorId || ""}
  23. className="form-control"
  24. >
  25. <option value="" />
  26. <option value="1">Cory House</option>
  27. <option value="2">Scott Allen</option>
  28. </select>
  29. </div>
  30. {props.errors.authorId && (
  31. <div className="alert alert-danger">{props.errors.authorId}</div>
  32. )}
  33. </div>
  34. <TextInput
  35. id="category"
  36. label="Category"
  37. onChange={props.onChange}
  38. name="category"
  39. value={props.course.category}
  40. error={props.errors.category}
  41. />
  42. <input type="submit" value="Save" className="btn btn-primary" />
  43. </form>
  44. );
  45. }
  46. CourseForm.propTypes = {
  47. course: PropTypes.object.isRequired,
  48. onSubmit: PropTypes.func.isRequired,
  49. onChange: PropTypes.func.isRequired,
  50. errors: PropTypes.object.isRequired,
  51. };
  52. export default CourseForm;