import React, { ForwardedRef, forwardRef, useImperativeHandle, useRef, useState } from 'react'; import ContentCard from '@/components/ContentCard'; import './index.less'; import FixedWidthProForm from '@/components/FixedWidthProForm'; import { ProFormInstance } from '@ant-design/pro-form'; import { Checkbox } from 'antd'; import type { CheckboxValueType } from 'antd/es/checkbox/Group';

export type ApplicationFormRef = { getApplicationFormValue?: () => any; validateApplicationForm: () => Promise | undefined; }; interface Props { ref?: ForwardedRef; }

const sepcialData = [ { label: '讯飞语音测试', value: '1', }, { label: '安全专项测试', value: '2', }, { label: '蓝牙功能测试', value: '3', }, { label: 'WIFI功能测试', value: '4', }, { label: '性能测试', value: '5', }, { label: 'HDMI兼容性测试', value: '6', }, { label: 'Google ART测试', value: '7', }, { label: 'GDPR专项测试', value: '8', }, { label: '蓝牙性能测试', value: '9', }, { label: 'WIFI性能测试', value: '10', }, { label: '流畅度测试', value: '11', }, { label: 'USB兼容性测试', value: '12', }, { label: 'Amazon ART测试', value: '13', }, { label: 'CAPP专项测试', value: '14', }, { label: '蓝牙兼容性测试', value: '15', }, { label: 'WIFI兼容性测试', value: '16', }, ];

const SpecialTest: React.FC = forwardRef((props, ref) => { const formRef = useRef(null); const [checkValue, setCheckValue] = useState([]); useImperativeHandle(ref, () => ({ validateApplicationForm: () => formRef.current?.validateFieldsReturnFormatValue?.(), }));

const onChange = (checkedValues: CheckboxValueType[]) => { console.log(checkedValues, 92); setCheckValue(checkedValues); };

return (

<Checkbox.Group value={checkValue} onChange={onChange}> {sepcialData.map((item, index) => (
{item.label}
))} </Checkbox.Group>
); });

export default SpecialTest;

/* CSS 样式 */ .table-container { display: flex; flex-wrap: wrap; }

.table-cell { flex: 0 0 16.666%; padding: 8px; box-sizing: border-box; }

React 专项测试选择组件 - 每行显示 6 个复选框

原文地址: https://www.cveoy.top/t/topic/qlKd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录