Checkbox
Field that can give true false value
Schema
<fieldName in value>:type: checkboxlabel: string? # fieldName to displaydefaultVal: any? # default valuehelperText: string? # text to help user to inputdisabled: boolean? # disable the input, default falsetrueValue: any? # custom true value, default boolean truefalseValue: any? # custom false value , default undefined
Example - simplest boolean output
Live Demo
value:
{}Example - custom true false value
Live Demo
value:
{}Use Your own
Use const [flag, handleChange] = useProcessBool(value, onChange, { trueValue, falseValue }) hook to process the values, onChange
and supply the resultant flag and handler to your input tag
// inputuseProcessOptionsMemo({label1: 'value1', label2: 'value2'})// will give[{value: 'value1',label: 'label1'},{value: 'value2',label: 'label2'}]
import {Fields,FieldPropTypes,ReformlProvider,BaseForm,useProcessBool,BoolFieldComponent} from 'reforml'import React, { FunctionComponent, useState } from 'react'import PropTypes from 'prop-types'const MyCheckbox: BoolFieldComponent<unknown> = ({helperText,onChange,value,label,defaultVal,trueValue,falseValue,...props}) => {const [flag, handleChange] = useProcessBool(value, onChange, { trueValue, falseValue })return (<div><label><div style={{ display: 'flex' }}><div><inputclassName='form-check-input'type='checkbox'onChange={handleChange}checked={flag}{...props}/></div><div><div>{label}</div><div>{(helperText !== undefined ? <div>{helperText}</div> : null)}</div></div></div></label></div>)}MyCheckbox.propTypes = {...FieldPropTypes,value: PropTypes.string}const TextPage: FunctionComponent = () => {const [value, setValue] = useState({})console.log(value)const fields: Fields = {myField: {type: 'checkbox',label: 'some label',helperText: 'some helper',trueValue: 'some true',falseValue: 'some false'}}return (<ReformlProvider fieldComponents={{ checkbox: MyCheckbox }}><BaseForm fields={fields} onChange={setValue} value={value}/></ReformlProvider>)}export default TextPage