fix(DeviceDetailDrawer): 优先从customFields获取字段值并处理空值显示
当字段值在device对象中不存在时,从customFields中获取。同时优化空值显示逻辑,明确区分undefined/null和空字符串的情况
This commit is contained in:
@@ -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 <Text strong style={{ fontSize: '14px' }}>{value || '-'}</Text>;
|
||||
return <Text strong style={{ fontSize: '14px' }}>{value !== undefined && value !== null ? value : '-'}</Text>;
|
||||
}, [getStatusTag, getDeviceTypeName]);
|
||||
|
||||
const displayFields = useMemo(() => {
|
||||
|
||||
Reference in New Issue
Block a user