我正在寻求帮助解决我最近在使用 React-Window 和 MUI Collapsible Table Rows 时遇到的问题。
一般来说,react-window 为数组中的每个项目渲染行,其中一些内容隐藏,直到我们按下箭头。按下时,我们的列下方会出现一个带有隐藏内容的新列。
function Row({ index, style }) {
const [showList, toggleShowList] = useState(false);
return (
<Fragment>
<TableRow sx={style}>
<TableCell>Visable Row:{index}</TableCell>
<TableCell>
<IconButton
aria-label="expand row"
size="small"
onClick={() => toggleShowList(!showList)}
>
{showList ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}
</IconButton>
</TableCell>
</TableRow>
<TableRow sx={{ style, display: showList ? "table-row" : "none" }}>
<TableCell>hidden row:{index}</TableCell>
</TableRow>
</Fragment>
);
}
以上示例基于MUI Table 组件页面。当我将它传递给 React-Window 时出现问题,因为它的显示隐藏内容不合适。
我尝试使用 useRef() 来计算行高,但它对隐藏元素没有影响。
我愿意接受建议和解决方案。我在代码沙盒上创建了一个示例,其中包括它的实际工作方式以及我希望它如何(应该)工作。