我尝试将Material主题扩展为包含资料-UI-Picker的类型记录类型,用于下列(最新)版本:
"@material-ui/core": "^3.9.2",
"material-ui-pickers": "^2.2.1",在材料UI选择器页面的底部有一个提到,解释说,由于打字稿主题增强,主题可以增强。
委员会建议这样做:
declare module '@material-ui/core/styles/overrides' {
import { MuiPickersOverrides } from 'material-ui-pickers/typings/overrides'
export interface Overrides extends MuiPickersOverrides { }
}但是在Material override.d.ts文件中,Overrides不是一种接口,而是一种类型(因此它不能以这种方式扩展),这使我认为Material类型已经发生了巨大的变化,而资料UI -Pickers指南(和类型)已经过时了。
有关于如何正确扩展主题类型的线索吗?
发布于 2019-02-26 16:28:51
找到了解决办法。实际上,MuiPickers使用属性名称->样式规则映射,而最新版本的Material使用属性名称->类名映射。
创建一个包含以下内容的overrides-mui.d.ts文件可以解决这个问题。
import { Overrides } from "@material-ui/core/styles/overrides";
import { MuiPickersOverrides } from 'material-ui-pickers/typings/overrides'
type overridesNameToClassKey = { [P in keyof MuiPickersOverrides]: keyof
MuiPickersOverrides[P] }
declare module "@material-ui/core/styles/overrides" {
export interface ComponentNameToClassKey extends overridesNameToClassKey { }
}只有样式选择器(如&$selected )存在问题。
https://stackoverflow.com/questions/54815307
复制相似问题