UNPKG

zent

Version:

一套前端设计语言和基于React的实现

23 lines (22 loc) 1.26 kB
import { __assign, __rest } from "tslib"; import { jsx as _jsx } from "react/jsx-runtime"; import { useCallback } from 'react'; import cx from 'classnames'; import Checkbox from '../../checkbox'; import { FormField } from '../Field'; import { useEventCallbackRef } from '../../utils/hooks/useEventCallbackRef'; function CheckboxField(_a) { var childProps = _a.childProps, props = _a.props; var value = childProps.value, passedProps = __rest(childProps, ["value"]); var onChangeRef = useEventCallbackRef(childProps.onChange); var onChange = useCallback(function (e) { var _a; (_a = onChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onChangeRef, e.target.checked); }, [onChangeRef]); return (_jsx(Checkbox, __assign({}, props.props, passedProps, { checked: value, onChange: onChange }), void 0)); } export function FormCheckboxField(props) { var className = props.className, rest = __rest(props, ["className"]); return (_jsx(FormField, __assign({}, rest, { className: cx(className, 'zent-form-checkbox-field'), defaultValue: props.defaultValue || false }, { children: function (childProps) { return _jsx(CheckboxField, { childProps: childProps, props: props }, void 0); } }), void 0)); }