From f3130ff517838a0d92e5d8aadf9eaebdb943fa20 Mon Sep 17 00:00:00 2001 From: Syngnat Date: Mon, 9 Feb 2026 15:58:04 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7fix(data-grid):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=97=A0=E6=95=88=E6=97=A5=E6=9C=9F=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=80=BC=E5=AF=BC=E8=87=B4=E5=BA=94=E7=94=A8=E5=B4=A9=E6=BA=83?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - normalizeDateTimeString 函数添加无效日期时间检测(0000-00-00) - 无效日期时间保持原样显示,不尝试转换 - 根本原因:MySQL 等数据库的 0000-00-00 00:00:00 值导致渲染崩溃 --- frontend/src/components/DataGrid.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/src/components/DataGrid.tsx b/frontend/src/components/DataGrid.tsx index d12f926..c678324 100644 --- a/frontend/src/components/DataGrid.tsx +++ b/frontend/src/components/DataGrid.tsx @@ -60,7 +60,13 @@ class DataGridErrorBoundary extends React.Component< export const GONAVI_ROW_KEY = '__gonavi_row_key__'; // Normalize RFC3339-like datetime strings to `YYYY-MM-DD HH:mm:ss` for display/editing. +// Also handle invalid datetime values like '0000-00-00 00:00:00' const normalizeDateTimeString = (val: string) => { + // 检查是否为无效日期时间(0000-00-00 或类似格式) + if (/^0{4}-0{2}-0{2}/.test(val)) { + return val; // 保持原样显示,不尝试转换 + } + const match = val.match(/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/); if (!match) return val; return `${match[1]} ${match[2]}`;