【发布时间】:2019-07-10 16:38:55
【问题描述】:
当我单击第一个选项卡中的第一个按钮时,它应该禁用接下来的两个选项卡。
当我点击它回来时,它应该启用其他两个选项卡。
其他选项卡应该具有相同的功能。
现在我使用 disabled 属性禁用了第二个选项卡。
你们能告诉我如何解决它。 在下面提供我的代码 sn-p 和沙箱。
https://codesandbox.io/s/material-demo-ulrv5
export default function SimpleTabs() {
const classes = useStyles();
const [value, setValue] = React.useState(0);
function handleChange(event, newValue) {
setValue(newValue);
}
function selectButton(e) {
//const selectedButton = e.currentTarget;
const selectedButton = e.target;
console.log("selectedButton--->", selectedButton);
this.setState({ selectedButton: false });
}
return (
<div className={classes.root}>
<AppBar position="static">
<Tabs value={value} onChange={handleChange}>
<Tab label="Item One" />
<Tab label="Item Two" disabled />
<Tab label="Item Three" />
</Tabs>
</AppBar>
{value === 0 && (
<TabContainer>
Item One
<Button
variant="contained"
color="primary"
className={classes.button}
onClick={selectButton}
>
item one
</Button>
</TabContainer>
)}
{value === 1 && (
<TabContainer>
<Button
variant="contained"
color="primary"
className={classes.button}
onClick={selectButton}
>
item one
</Button>
</TabContainer>
)}
{value === 2 && (
<TabContainer>
<Button
variant="contained"
color="primary"
className={classes.button}
onClick={selectButton}
>
item one
</Button>
</TabContainer>
)}
</div>
);
}
【问题讨论】:
-
this.setState不存在于函数组件中...仅存在于扩展组件类中
标签: javascript html reactjs react-hooks