From dd2bb3578929a7fed5faa26d353390d9ffa41623 Mon Sep 17 00:00:00 2001 From: Ultrame <1019265060@qq.com> Date: Thu, 27 Nov 2025 15:53:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B4=BB=E5=8A=A8=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E6=9B=B4=E5=A4=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/UserInfo/index.tsx | 10 +++++----- src/container/listContainer/index.tsx | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/components/UserInfo/index.tsx b/src/components/UserInfo/index.tsx index b13c188..f71aaab 100644 --- a/src/components/UserInfo/index.tsx +++ b/src/components/UserInfo/index.tsx @@ -384,11 +384,11 @@ const UserInfoCardComponent: React.FC = ({ { // 对于没有ntrp等级的用户每个月展示一次, 插在第二个位置后面 function insertEvaluateCard(list) { - if (!evaluateFlag) return list; + if (!evaluateFlag) + return showNumber !== undefined ? list.slice(0, showNumber) : list; if (!list || list.length === 0) { return list; } // 如果最近一个月有测试记录,则不插入 card if (hasTestInLastMonth) { - return list; + return showNumber !== undefined ? list.slice(0, showNumber) : list; } if (list.length <= 2) { return [...list, { type: "evaluateCard" }]; } const [item1, item2, ...rest] = list; - return [item1, item2, { type: "evaluateCard" }, ...rest]; + return [ + item1, + item2, + { type: "evaluateCard" }, + ...(showNumber !== undefined ? rest.slice(0, defaultShowNum - 2) : rest), + ]; } const memoizedList = useMemo( () => insertEvaluateCard(data), - [evaluateFlag, data, hasTestInLastMonth] + [evaluateFlag, data, hasTestInLastMonth, showNumber] ); // 渲染列表 - const renderList = (list) => { + const renderList = () => { // 请求数据为空 if (isShowNoData) { return ( @@ -162,8 +168,6 @@ const ListContainer = (props) => { ); } - showNumber !== undefined && (list = list.slice(0, showNumber)); - // 渲染数据 return ( <> @@ -181,7 +185,7 @@ const ListContainer = (props) => { return ( - {renderList(data)} + {renderList()} {/* 显示骨架屏 - 只有在 loading 超过 300ms 时才显示 */} {loading && showSkeleton && renderSkeleton()} {/*