From 1c9a9a28b585a59a09688f9e60cf5c78106f1cf4 Mon Sep 17 00:00:00 2001
From: zhang1106 <849185023@qq.com>
Date: Mon, 9 Feb 2026 14:54:18 +0800
Subject: [PATCH] =?UTF-8?q?fix(DeviceDetailDrawer):=20=E4=BC=98=E5=85=88?=
=?UTF-8?q?=E4=BB=8EcustomFields=E8=8E=B7=E5=8F=96=E5=AD=97=E6=AE=B5?=
=?UTF-8?q?=E5=80=BC=E5=B9=B6=E5=A4=84=E7=90=86=E7=A9=BA=E5=80=BC=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
当字段值在device对象中不存在时,从customFields中获取。同时优化空值显示逻辑,明确区分undefined/null和空字符串的情况
---
frontend/src/components/DeviceDetailDrawer.jsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/DeviceDetailDrawer.jsx b/frontend/src/components/DeviceDetailDrawer.jsx
index 5bf370d..9e78960 100644
--- a/frontend/src/components/DeviceDetailDrawer.jsx
+++ b/frontend/src/components/DeviceDetailDrawer.jsx
@@ -59,12 +59,16 @@ function DeviceDetailDrawer({ device, visible, onClose, cables, onRefreshCables,
const fieldKey = field.field;
if (fieldKey === 'status') return getStatusTag(device.status);
+ // 优先从device对象获取值,如果没有则从customFields中获取
let value = device[fieldKey];
+ if ((value === undefined || value === null) && device.customFields && typeof device.customFields === 'object') {
+ value = device.customFields[fieldKey];
+ }
if (fieldKey === 'type') value = getDeviceTypeName(value);
else if (fieldKey === 'position') value = `U${device.position} ${device.height ? `(${device.height}U)` : ''}`;
- return {value || '-'};
+ return {value !== undefined && value !== null ? value : '-'};
}, [getStatusTag, getDeviceTypeName]);
const displayFields = useMemo(() => {