import React from 'react'; import PropTypes from 'prop-types'; import {LineInput, Label, Select} from './'; import {get, isObject} from 'lodash'; export const SelectInput: React.StatelessComponent = ({ field, label, value, options, keyField, labelField, onChange, readOnly, clearable, ...props }) => { const getKey = () => { let _key = ''; if (clearable) { if (isObject(value)) { _key = get(value, keyField, ''); } else { _key = value; } } else { _key = get(value, keyField, get(options, `[0].${keyField}`)); } return _key; }; const key = getKey(); const opts = options.map((opt) => ({ key: get(opt, keyField), label: get(opt, labelField), })); const onChangeHandler = (_field, _key) => { const _value = options.find( (option) => get(option, keyField) === _key, ) || null; onChange(_field, get(_value, keyField, '')); }; return ( {label &&