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

Chakra UI中创建组件interface时,color与backgroundColor的正确类型是什么?

Chakra UI组件Props中颜色属性的类型定义问题

定义组件Props接口时,不确定color或backgroundColor属性应使用什么类型——不存在Property.color这类直接可用的类型,但肯定有能覆盖所有可选颜色选项的内置类型。目前用any来规避报错,但这样就丢失了颜色的类型提示功能。

import {
  BackgroundProps,
  Card,
  CardBody,
  ColorProps,
  Colors,
  HStack,
  Icon,
  ResponsiveValue,
  Text,
} from "@chakra-ui/react";
import { HiFolder } from "react-icons/hi";
import { MdKeyboardArrowRight } from "react-icons/md";
import { ReactNode } from "react";

interface Props {
  children: ReactNode;
  color: ResponsiveValue<any>;
  //   backgroundColor: BackgroundProps;
}

function DashboardLinkSectionCard({ children, color }: Props) {
  return (
    <>
      <Card
        // maxW={"ms"}
        maxH={"20"}
        color={color}
        // backgroundColor={backgroundColor}
      >
        <CardBody>
          <HStack gap={2}>
            <Icon as={HiFolder} boxSize={6} />
            <Text>{children}</Text>
            <Icon as={MdKeyboardArrowRight} boxSize={6} />
          </HStack>
        </CardBody>
      </Card>
    </>
  );
}

export default DashboardLinkSectionCard;

这是常规情况下能获得的颜色类型提示:
常规颜色类型提示

目前想到的一个可行方案是手动复制所有颜色选项来创建自定义类型,但显然有更优的解决方案。
自定义颜色类型示例

内容的提问来源于stack exchange,提问作者Muhammad Mubashirullah Durrani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:35:08