From 9149f1515a42e09f9bf2a9af974f6f2e1b54fb2a Mon Sep 17 00:00:00 2001 From: admin <1297598740@qq.com> Date: Mon, 2 Feb 2026 14:02:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20TransactionItem=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E7=94=A8=E4=BA=8E=E5=B1=95=E7=A4=BA=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E8=AF=A6=E6=83=85=E5=8F=8A=E6=BB=91=E5=8A=A8=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=EF=BC=8C=E5=B9=B6=E5=AE=9A=E4=B9=89=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transaction/TransactionItem/TransactionItem.tsx | 11 +++++++---- src/types/index.ts | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) 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;