You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

传递给MUI组件的props为undefined:自定义深色背景卡片失效

问题原因

你封装的DashboardCard组件虽然接收了darkBg属性,但未将其传递给内部的CustomCard组件,导致styled生成的CustomCard无法获取到darkBg值,因此控制台打印undefined,卡片背景始终显示为白色。

修复方案

修改DashboardCard组件,将接收的darkBg属性传递给CustomCard:

import { Card, styled } from '@mui/material';

const CustomCard = styled(Card)<DashboardCardProps>(({ theme, darkBg }) => {
  console.log(darkBg);

  return {
    paddingLeft: '24px',
    paddingRight: '24px',
    width: '349px',
    margin: '20px',
    background: darkBg ? theme.palette.primary.dark : '#fff',
  };
});

type DashboardCardProps = {
  children: JSX.Element | JSX.Element[];
  darkBg?: boolean;
};

const DashboardCard = ({ children, darkBg }: DashboardCardProps) => {
  // 将darkBg属性传递给CustomCard
  return <CustomCard darkBg={darkBg}>{children}</CustomCard>;
};

export default DashboardCard;

修改后,CustomCard就能正确接收darkBg属性,根据传入的值切换卡片背景颜色。

内容的提问来源于stack exchange,提问作者ordancheg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:24:54