TypeError:无法读取未定义的属性(读取“pvtData”)

问题描述 投票:0回答:0

我无法在我的网格组件 (syncfusion) 中显示数据。它总是抛出一个错误“TypeError:无法读取未定义的属性(读取'pvtData')”。我的网格组件没有任何显示,并且错误不断出现。我有没有犯什么错误,尤其是在 API 路由方面?

前端

 const baseUrl = 'http://localhost:3000';
  const data = new DataManager({
    adaptor: new UrlAdaptor(),
    insertUrl: baseUrl + `/api/subject/insert/${user_id}`,
    updateUrl: baseUrl + `/api/subject/update/${user_id}`,
    deleteUrl: baseUrl + `/api/subject/delete/${user_id}`,
    url: baseUrl + `/api/subject/${user_id},
  });

 <GridComponent
              dataSource={data}
              allowPaging={true}
              pageSettings={{ pageSize: 10 }}
              editSettings={{ allowEditing: true }}
            >
              <ColumnsDirective>
                <ColumnDirective field="Subject" width="200" textAlign="Left" />
                <ColumnDirective field="Name" width="100" />
                <ColumnDirective field="Year" width="100" textAlign="Left" />
                <ColumnDirective field="Section" width="100" textAlign="Left" />
                <ColumnDirective field="Semester" width="100" />
                <ColumnDirective field="Batch" width="100" />
                <ColumnDirective
                  headerText="Delete"
                  width="100"
                  textAlign="Center"
                />
              </ColumnsDirective>
              <Inject services={[Page, Edit]} />
            </GridComponent>

API 航线(下一个):

//  /api/orders/:id

import { getSession } from 'next-auth/react';

import db from '@/utils/db';
import Subject from '@/models/Subject';
import Class from '@/models/Class';

const handler = async (req, res) => {
  const session = await getSession({ req });
  console.log('SESSION: ', session);
  if (!session) {
    return res.status(401).send('Signin required');
  }

  await db.connect();

  const subject = await Subject.find({ teacher_id: req.query.id });

  const dataID = subject.map((sub) => sub.class_id);
  console.log('CLASS ID: ', dataID);

  const classData = await Class.find({ _id: { $in: dataID } });

  const mergedData = subject.map((sub) => {
    const classRecord = classData.find((cls) => cls._id.equals(sub.class_id));
    return {
      ID: sub._id,
      Subject: sub.name,
      Name: classRecord.name,
      Year: classRecord.year,
      Section: classRecord.section,
      Semester: sub.semester,
      Batch: classRecord.batch,
    };
  });

  await db.disconnect();

  res.json(mergedData);
};

export default handler;
next.js syncfusion
© www.soinside.com 2019 - 2024. All rights reserved.