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

Chakra UI Modal组件sizes对象内属性配置无效求助

解决Chakra UI Modal组件Sizes配置不生效的问题

你的问题出在配置结构错误:你把sizes、variants、defaultProps这些属性嵌套在了baseStyle对象内部,而Chakra UI的多组件样式配置要求这些属性必须和baseStyle处于同一层级,框架才能正确识别并应用尺寸配置。

修正后的代码如下:

import { type ComponentStyleConfig, defineStyle } from '@chakra-ui/react';
import { createMultiStyleConfigHelpers } from '@chakra-ui/styled-system';

const helpers = createMultiStyleConfigHelpers(['dialog', 'header', 'body']);

const Modal = helpers.defineMultiStyleConfig({
  baseStyle: {
    header: {
      pb: 0,
      fontWeight: '500',
      fontSize: '1.125rem',
      lineHeight: '1.5rem',
    },
    body: {
      color: 'black',
      lineHeight: '1.25rem',
      fontSize: '0.875rem',
      fontWeight: '400',
    },
  },
  // 将sizes移到baseStyle同级
  sizes: {
    xs: {
      dialog: {
        mt: 0,
        maxHeight: 'auto',
      },
    },
    md: {
      dialog: {
        mt: 'auto',
        backgroundColor: 'blue',
      },
    },
  },
  variants: {},
  defaultProps: {
    size: 'md',
    variant: 'solid',
  },
});

export default Modal as ComponentStyleConfig;

关键说明

createMultiStyleConfigHelpers生成的defineMultiStyleConfig方法,接收的配置对象结构是固定的:baseStyle、sizes、variants、defaultProps是平级的顶级属性,不能互相嵌套。之前的写法中,sizes被包裹在baseStyle里,Chakra UI无法解析这部分配置,自然不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:27:22