【发布时间】:2021-08-19 08:40:56
【问题描述】:
我一直致力于 Material-UI 并尝试在整个调色板中使用颜色系统。编译时似乎存在一些问题,尽管它在运行时完美运行。谁能帮我解决以下错误:
错误:
“PaletteColorOptions”类型上不存在属性“main”。
“部分”类型上不存在属性“主要”。(2339)
这里也是 stackblitz:https://stackblitz.com/edit/react-up6bjl-hx1bbh?file=demo.tsx
代码:
import * as React from 'react';
import {
createTheme,
Theme,
ThemeProvider,
PaletteOptions
} from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';
declare module '@material-ui/core/styles' {
interface SimplePaletteColorOptions {
lighter?: string;
darker?: string;
}
interface PaletteColor {
lighter?: string;
darker?: string;
}
}
const Default = () : PaletteOptions => {
return {
primary: {
lighter: '#ddd',
light: '#ddd',
main: '#ddd',
dark: '#ddd',
darker: '#ddd'
},
};
};
export default function CustomColor() {
const defaultColors = Default();
const palette: PaletteOptions = {
...defaultColors,
divider: defaultColors.primary?.main, // error in compile. Cannot find 'main'
};
const theme: Theme = createTheme({
palette
});
console.log(theme.palette.primary.light);
return (
<ThemeProvider theme={theme}>
<Button color="primary" variant="contained">
neutral
</Button>
</ThemeProvider>
);
}
【问题讨论】:
-
你到底想要什么?
-
@Danial:如果你检查 stalkblitz,就会出错。我想解决这个错误。
-
我的回答对你有帮助吗?
标签: reactjs typescript material-ui react-typescript