我使用ChakraUI复选框,如下所示:

export function CheckItem({ color, checked, label, onChange }: CheckItemProps) {
  return (
    <Checkbox
      iconColor="white"
      borderColor={color}
      isChecked={checked}
      onChange={onChange}
      size="lg"
    >
      <Text fontSize="12px">{label}</Text>
    </Checkbox>
  );
}

如何在选中时设置复选框的框 colored颜色 ?

  • 使用bg设置包括文本在内的整个容器的背景.

  • 使用color设置文本的 colored颜色 .

  • 使用colorScheme不起作用,因为我使用的是十六进制值,而不是主题中的 colored颜色 .

  • 在我选中该框之前,borderColor在未选中状态下会像我预期的那样工作,然后它会回到默认的蓝色填充状态.

我试过所有其他包含单词color的props 名称,但都不起作用.

我希望最后的结果是这样的:

export function CheckItem({ color, checked, label, onChange }: CheckItemProps) {
  return (
    <Checkbox
      _checked={{
        // I don't know what prop to put here...
      }}
      iconColor="white"
      borderColor={color}
      isChecked={checked}
      onChange={onChange}
      size="lg"
    >
      <Text fontSize="12px">{label}</Text>
    </Checkbox>
  );
}

推荐答案

您可以通过在_checked中使用一个css Select 器来设置控件所需的样式来实现这一点._checked={{ background: "red" }}不起作用的原因是选中复选框时,这些样式将应用于container零件.因此,需要使用css Select 器.

export function CheckItem({ color, checked, label, onChange }: CheckItemProps) {
  return (
    <Checkbox
     _checked={{
        "& .chakra-checkbox__control": { background: "red" }
      }}     
      iconColor="white"
      borderColor={color}
      isChecked={checked}
      onChange={onChange}
      size="lg"
    >
      <Text fontSize="12px">{label}</Text>
    </Checkbox>
  );
}

You’ll still need to update the border color and pseudo states (hover, focus, etc.) styles but you should be able to do that inside there as well.

Reactjs相关问答推荐

MUImaterial -ui-如何将文本字段和 Select 分组?

Inbox Enum类型以React组件状态时出现TypScript错误

构建next.js项目时状态不变,但在dev服务器中

避风港访问端口以包含Reaction应用程序

是否将样式应用于父悬停(框架运动)上的子元素?

在下一个js中使用ESTAccountWithEmailAndPassword函数时循环

React Context API 在 Next.js 中更改路由时获取默认数据

提前输入错误:选项类型上不存在属性名称

i18next中复数键的理解

React中的功能性组件克隆优化

Formik onChange() 字段挂钩覆盖显示值和 Select 机制

Cypress 组件测试不渲染react 组件(但它的内容)

Github 页面无法正确呈现 CSS,因为它是本地的

React + i18next + Trans + Prettier:Prettier 最终会在重新格式化 JSX 时 destruct 翻译

react 事件顺序

react-markdown 不渲染 Markdown

如何使用 React Router 在 React 中正确同步 useEffect 和 useLocation 挂钩?

在 React 中,为什么不能向空片段添加键(短语法)?

React 检测哪些 props 在 useEffect 触发器上发生了变化

为什么这两个 div 的渲染方式不同?