import React, {Component} from 'react'; import {FormConsumer} from './FormContext'; import FormItemError from "./FormItemError"; const OptionGroupContext = React.createContext({}); export class OptionGroupConsumer extends Component { render() { return ( {(props) => this.props.children(props)} ) } } export default class OptionGroup extends Component { render() { return ( {(data) => this.renderOptionGroup(data)} ) } renderOptionGroup(data) { const props = {...this.props} return (
{this.renderLabel()}
) } _onChange = (e) => { if (this.props.multiple) { let value = [] const options = e.target.options; for (let i = 0, l = options.length; i < l; i++) { if (options[i].selected) { value.push(options[i].value); } } this.props.onChangeValue(value) } else { this.props.onChangeValue(e.target.value) } } renderLabel() { if (!this.props.label) return null return ( ) } renderChildren() { return ( {this.props.children} ) } } OptionGroup.defaultProps = { name: 'select', className: 'form-control', onChangeValue: (value) => {} }