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; / 设置为row,使选项在一行内显示 */ }

.table-cell { width: 16.666%; padding: 8px; box-sizing: border-box; margin-bottom: 8px; }

/* 调整内容: 如果想要实现一行显示6个复选框选项,可以将.table-container容器的flex-direction属性设置为row,并且给.table-cell添加width: 16.666%;margin-bottom: 8px;的样式。这样每个选项占据1/6的宽度,并且在一行内显示6个选项。代码如下:

.table-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; /* 修改为row */
}

.table-cell {
  width: 16.666%;
  padding: 8px;
  box-sizing: border-box;
  margin-bottom: 8px;
}
``` */


/* <div className='table-container'>
          <Checkbox.Group value={checkValue} onChange={onChange}>
          {sepcialData.map((item, index) => (
            <div className='table-cell' key={index}>
              <Checkbox value={item.value} >
                {item.label}
              </Checkbox>
            </div>
          ))}
          </Checkbox.Group>
        </div>怎么实现div表格一行显示6个复选框选项,多的往下显示 */
React 专项测试选择组件 - 一行显示6个复选框

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

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