UNPKG

reactstrap

Version:
54 lines (45 loc) 1.04 kB
import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { mapToCssModules, tagPropType } from './utils'; const propTypes = { children: PropTypes.node, tag: tagPropType, innerRef: PropTypes.oneOfType([ PropTypes.object, PropTypes.func, PropTypes.string, ]), className: PropTypes.string, cssModule: PropTypes.object, }; class Form extends Component { constructor(props) { super(props); this.getRef = this.getRef.bind(this); this.submit = this.submit.bind(this); } getRef(ref) { if (this.props.innerRef) { this.props.innerRef(ref); } this.ref = ref; } submit() { if (this.ref) { this.ref.submit(); } } render() { const { className, cssModule, tag: Tag = 'form', innerRef, ...attributes } = this.props; const classes = mapToCssModules(className, cssModule); return <Tag {...attributes} ref={innerRef} className={classes} />; } } Form.propTypes = propTypes; export default Form;