类型错误:无法读取未定义的属性(读取"pvtData")



我无法在我的网格组件中显示数据(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;

我怀疑重复的包可能安装在你的' node_modules '的' @syncfusion '文件夹中。请按照以下文档中提供的步骤或使用以下步骤来克服报告的行为。

  1. 从应用程序中删除package.lock.json文件。
  2. 从node_modules中删除' @syncfusion '包文件夹。
  3. 对包中的所有组件(Grid, Dropdown等)使用相同的版本。json文件。
  4. 然后安装新的包。

文档:https://ej2.syncfusion.com/react/documentation/common/how-to/update-npm-package

问候,

Santhosh我

最新更新