sat*_*esu 2 reactjs next.js chakra-ui
我正在使用 Chakra ui。
我想将按钮颜色更改为#2477b3。我可以通过传递props中的值来改变它,但是每次传递props中的值需要花费很多时间和精力,所以我想改变默认的Button颜色等,
我想使用的样式A 按钮。
我更改了theme.ts并创建了BButton,但样式没有改变。我尝试更改 theme.ts 中的值,但颜色没有改变。
<Button
size={'sm'}
bg="#2B6CB0"
_hover={{ bg: '#2477b3' }}
_active={{
bg: '#2477b3',
transform: 'scale(0.98)',
borderColor: '#2477b3',
}}
color={'#ffffff'}
>
AButton
</Button>
<Button>BButton</Button>
Run Code Online (Sandbox Code Playgroud)
主题.ts
import { extendTheme } from '@chakra-ui/react';
export const theme = extendTheme({
components: {
Button: {
baseStyle: {
fontWeight: 'bold',
_hover: {
_disabled: {
bg: '#2477b3',
},
},
},
variants: {
bg: '#2B6CB0',
_active: {
bg: '#2477b3',
transform: 'scale(0.98)',
borderColor: '#2477b3',
},
},
},
},
});
Run Code Online (Sandbox Code Playgroud)
您需要首先通过设置变体然后将默认值设置为该变体来正确定义主题覆盖
import { extendTheme } from '@chakra-ui/react';
export const theme = extendTheme({
components: {
Button: {
baseStyle: {
// ...define your base styles
},
variants: {
// Make a variant, we'll call it `base` here and leave it empty
base: {},
secondary: {
//...define other variants
}
},
defaultProps: {
// Then here we set the base variant as the default
variant: 'base'
}
},
},
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7409 次 |
| 最近记录: |