Abd*_*aju 9 javascript reactjs chakra-ui
我在 chakra_ui 中扩展了主题提供程序
import React from "react";
import ReactDOM from "react-dom";
import { ChakraProvider, extendTheme } from "@chakra-ui/react";
import App from "./App";
const theme = extendTheme({
colors: {
brand: {
50: "#44337A",
100: "#B794F4"
}
}
});
const rootElement = document.getElementById("root");
ReactDOM.render(
<React.StrictMode>
<ChakraProvider theme={theme}>
<App />
</ChakraProvider>
</React.StrictMode>,
rootElement
);
Run Code Online (Sandbox Code Playgroud)
我使用了 Button 组件,并将 colorScheme 属性设置为我的主题的值:
<Button size="sm" colorScheme="brand.100">
Click Me
</Button>
Run Code Online (Sandbox Code Playgroud)
它在 css 中生成了以下内容:background: brand.50.500;
。所以它不应用颜色,有什么问题吗?
我注意到一些东西,没有.number
:例如 .50 或 .100...该品牌不起作用,但其他内置颜色起作用。
https://codesandbox.io/s/infallible-allen-1k0tx?file=/src/App.js:257-333
小智 24
仅colorScheme
接受颜色名称。在你的情况下,它将是colorScheme="brand"
。
如果我们检查 chakra 为实心按钮生成 的方式,colorScheme
我们可以注意到它调用${c}.500
。这意味着当您创建品牌配色方案时,您需要指定一种颜色500
,但您在代码示例中缺少该颜色。
import React from "react";
import ReactDOM from "react-dom";
import { ChakraProvider, extendTheme } from "@chakra-ui/react";
import App from "./App";
const theme = extendTheme({
colors: {
brand: {
50: "#44337A",
100: "#B794F4",
500: "#B794F4", // you need this
}
}
});
const rootElement = document.getElementById("root");
ReactDOM.render(
<React.StrictMode>
<ChakraProvider theme={theme}>
<App />
</ChakraProvider>
</React.StrictMode>,
rootElement
);
Run Code Online (Sandbox Code Playgroud)
当您调用按钮时,您只需要:
<Button size="sm" colorScheme="brand">
Click Me
</Button
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18341 次 |
最近记录: |