【发布时间】:2022-12-22 08:03:53
【问题描述】:
我正在使用 MUI v5,我正在尝试向 TableRow 组件添加一个新道具。关于模块扩充的 MUI 文档缺少一些示例,因为它只展示了如何添加新变体(而不是新道具)。
我试过
declare module '@mui/material/TableRow' {
interface TableRowProps {
clickable?: boolean;
}
}
在我的主题中,我添加了样式:
MuiTableRow: {
styleOverrides: {
root: {
height: '80px',
},
head: {
height: 'unset',
},
},
variants: [
{
props: { clickable: true },
style: {
'&:hover': {
cursor: 'pointer',
},
},
},
],
},
我的主题覆盖没有任何 TS 错误,但是在使用该组件时,TS 抛出一个错误,指出 clickable 道具不存在:
我应该如何正确添加这个新道具而不将其包装在新组件中?
【问题讨论】:
-
你想通过在 TableRow 上增加一个道具来实现什么? MUI 组件不会对其执行任何操作,它只会传递给 HTML 元素?如果您想要一个“可点击”的 TableRow,难道您不想创建自己的组件来处理 prop,从而为 prop 定义您自己的类型定义吗?
标签: reactjs material-ui