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; flex-direction: row; / 修改为水平排列 */ }

.table-cell { width: 16.666%; padding: 8px; box-sizing: border-box; margin-right: 2%; /* 调整间距 */ }

/* 实现一行显示6个复选框选项,多出来的选项会自动换行显示。 */

/* 为了使表格布局更加美观,可以根据实际需要调整CSS样式,例如: / / .table-container { / / justify-content: space-between; / / } / / .table-cell { / / border: 1px solid #ccc; / / text-align: center; / / } */

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

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

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