diff --git a/src/components/transaction/TransactionItem/TransactionItem.tsx b/src/components/transaction/TransactionItem/TransactionItem.tsx index 885685a..ec19e60 100644 --- a/src/components/transaction/TransactionItem/TransactionItem.tsx +++ b/src/components/transaction/TransactionItem/TransactionItem.tsx @@ -88,10 +88,13 @@ const TransactionItem = React.memo(({ } }; + // 获取有效的分类信息:优先使用传入的 category prop,否则使用 transaction.category + const effectiveCategory = category || transaction.category; + // 获取分类图标 const getCategoryIcon = () => { - if (category?.icon) { - return category.icon; + if (effectiveCategory?.icon) { + return effectiveCategory.icon; } return getTypeIcon(); }; @@ -139,7 +142,7 @@ const TransactionItem = React.memo(({
- {category?.name || '未分类'} + {effectiveCategory?.name || '未分类'} {transaction.note && !compact && {transaction.note}}
{showDate && ( @@ -217,7 +220,7 @@ const TransactionItem = React.memo(({
- {category?.name || '未分类'} + {effectiveCategory?.name || '未分类'} {transaction.note && !compact && ( {transaction.note} diff --git a/src/types/index.ts b/src/types/index.ts index 65597be..b49e90b 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -109,7 +109,9 @@ export interface Transaction { amount: number; type: TransactionType; categoryId: number; + category?: Category; // Populated by backend via Preload accountId: number; + account?: Account; // Populated by backend via Preload currency: CurrencyCode; transactionDate: string; note?: string;