Path: blob/master/src/packages/next/components/misc/checkbox.tsx
1449 views
import { Button, Checkbox as AntdCheckbox, Space } from "antd";1import { ReactNode } from "react";23interface Props {4children: ReactNode;5checked: boolean;6defaultValue?: boolean;7onChange: (boolean) => void;8}9export default function Checkbox({10children,11checked,12defaultValue,13onChange,14}: Props) {15const check = (16<AntdCheckbox17checked={checked}18onChange={(e) => onChange(e.target.checked)}19>20{children}21</AntdCheckbox>22);23if (defaultValue == null) return check;24return (25<Space>26{check}{" "}27<Button28type="dashed"29disabled={checked == defaultValue}30style={{ marginLeft: "5px" }}31onClick={() => onChange(defaultValue)}32>33({defaultValue ? "default is checked" : "default is unchecked"})34</Button>35</Space>36);37}383940