exampleModel.tsx 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React, { useEffect, useMemo, useState } from 'react';
  2. import { Table, Pagination, Modal, Space, Button, TablePaginationConfig, Input, Radio, message } from 'antd';
  3. const ExampleModel: React.FC<{ visible: boolean; onClose: () => void }> = ({ visible, onClose }) => {
  4. // 示例数据(与之前 <pre> 中的 JSON 内容一致)
  5. const sample = useMemo(() => ({
  6. questions: [
  7. {
  8. question: '什么是人工智能?',
  9. expected_answer: '人工智能是指使计算机能够执行通常需要人类智能的任务的技术。'
  10. },
  11. {
  12. question: '深度学习的基本原理是什么?',
  13. expected_answer: '深度学习是一种机器学习方法,利用多层神经网络来模拟人脑处理数据和创建模式的方式。'
  14. },
  15. {
  16. question: '谁发明了电话?',
  17. expected_answer: '电话的主要发明者是亚历山大·格拉汉姆·贝尔,他于1876年获得了电话的发明专利。'
  18. },
  19. {
  20. question: '地球上最大的哺乳动物是什么?',
  21. expected_answer: '地球上最大的哺乳动物是蓝鲸,成年蓝鲸体长可达30米,重量可达180吨。'
  22. },
  23. ]
  24. }), []);
  25. const dataSource = sample.questions.map((q, idx) => ({ ...q, key: idx }));
  26. const columns = [
  27. {
  28. title: '问题',
  29. dataIndex: 'question',
  30. key: 'question',
  31. render: (text: string) => <div style={{ whiteSpace: 'pre-wrap' }}>{text}</div>
  32. },
  33. {
  34. title: '期望答案',
  35. dataIndex: 'expected_answer',
  36. key: 'expected_answer',
  37. render: (text: string) => <div style={{ whiteSpace: 'pre-wrap' }}>{text}</div>
  38. }
  39. ];
  40. return (
  41. <Modal
  42. title="示例数据文件"
  43. open={visible}
  44. onCancel={onClose}
  45. footer={null}
  46. width={800}
  47. >
  48. <div>
  49. <p className='pb-2'>以下是一个示例数据文件的结构说明:</p>
  50. {/* <p className="text-sm text-gray-600 mb-4">请确保您的数据文件遵循下列表格结构,以便系统能够正确解析和使用您的评测数据。</p> */}
  51. <Table
  52. columns={columns}
  53. dataSource={dataSource}
  54. pagination={false}
  55. size="middle"
  56. />
  57. </div>
  58. </Modal>
  59. );
  60. };
  61. export default ExampleModel;