【发布时间】:2022-01-26 23:58:15
【问题描述】:
我正在使用priceline design-system,但我对它的暗模式支持感到困惑。 使用此设计系统时,实现暗模式的最佳方式是什么?我应该为黑暗创建单独的主题还是有其他方法?
【问题讨论】:
我正在使用priceline design-system,但我对它的暗模式支持感到困惑。 使用此设计系统时,实现暗模式的最佳方式是什么?我应该为黑暗创建单独的主题还是有其他方法?
【问题讨论】:
您可以为此使用<ThemeProvider>,如下所示:
<ThemeProvider
theme={{
palette: {
primary: {
base: '#ff001d',
dark: '#ffa52f'
}
}
}}
>
<Button>Custom</Button>
</ThemeProvider>
这会输出this,红色表示正常,橙色表示深色。它开启了鼠标悬停,但我使用的 GIF 录制软件没有显示。
使用 javascript,您可以使用以下方法:
语法:
getPaletteColor(colorShade)(props)
getPaletteColor(color, shade)(props)
getPaletteColor(shade)(props)
用法:
const Component = styled.div`
color: ${getPaletteColor('primary.base')};
`
我自己对javascript部分不太确定,但根据多个来源它是正确的。
【讨论】: