javascript - 材质 UI 第一个选项卡未显示
问题描述
我遇到了一个奇怪的问题,即第一个选项卡显示不正确。我已经尝试过并添加了第二个选项卡,它显示得很好。我基本上使第二个标签具有我想要的第一个标签。因为我认为我可能犯了一个错误,所以我删除了第一个选项卡,只是让第二个选项卡成为第一个选项卡……只是为了不显示。这是我的代码:
<Tabs
value={value}
onChange={handleChange}
indicatorColor="primary"
className={classes.tabContainer}
>
<Tab label="Today's Picture" />
<Tab
className={classes.tab}
label="Today's Picture"
component={Link}
onClick={refreshPage}
to="/"
/>
<BasicDatePicker date={props.date} setDate={props.setDate} />
</Tabs>
第一个选项卡是我尝试查看它是否会显示,第二个选项卡是我想要显示为第一个选项卡的内容。发生的奇怪事情是,当它没有显示我的第一个选项卡时,至少将鼠标悬停在它上面会显示我设置的样式,但不将鼠标悬停在它上面会使它看起来好像什么都没有。
解决方案
我已经从材料 UI 站点复制了这段代码,它会正常工作,试试这个:
function TabPanel(props) {
const { children, value, index, ...other } = props;
return (
<div
role="tabpanel"
hidden={value !== index}
id={`simple-tabpanel-${index}`}
aria-labelledby={`simple-tab-${index}`}
{...other}
>
{value === index && (
<Box sx={{ p: 3 }}>
<Typography>{children}</Typography>
</Box>
)}
</div>
);
}
TabPanel.propTypes = {
children: PropTypes.node,
index: PropTypes.number.isRequired,
value: PropTypes.number.isRequired,
};
function a11yProps(index) {
return {
id: `simple-tab-${index}`,
'aria-controls': `simple-tabpanel-${index}`,
};
}
export default function BasicTabs() {
const [value, setValue] = React.useState(0);
const handleChange = (event, newValue) => {
setValue(newValue);
};
return (
<Box sx={{ width: '100%' }}>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<Tabs value={value} onChange={handleChange} aria-label="basic tabs example">
<Tab label="Item One" {...a11yProps(0)} />
<Tab label="Item Two" {...a11yProps(1)} />
<Tab label="Item Three" {...a11yProps(2)} />
</Tabs>
</Box>
<TabPanel value={value} index={0}>
Item One
</TabPanel>
<TabPanel value={value} index={1}>
Item Two
</TabPanel>
<TabPanel value={value} index={2}>
Item Three
</TabPanel>
</Box>
);
}
推荐阅读
- python - 为主教不工作生成对角线移动的位板
- c - 线程 1:EXC_BAD_ACCESS(代码=1,地址=0x7ffeefc00000)
- statistics - 组合2个相同分布的数组
- c# - 统一更改粒子系统开始颜色的范围
- css - 如何在 Bootstrap 中裁剪 GoogleAPI 二维码图像?
- r - ggplot 多边形 X 轴和 Y 轴缩放并更改组的颜色
- php - Codeigniter 中的 Ajax 文件上传
- java - 没有为 public com.phonepe.gandalf.models.authz.Permission 类型的参数找到注入源
- angular - 构建 Angular CLI 主题
- reactjs - 如何使用 bundle.js 文件渲染 react-router-dom 中的组件?