[英]Use onChange in Material UI tabs handleChange function in React component
Currently I have a certain navigation setup like this:目前我有这样的导航设置:
<div>
{letters?.map((letter) => {
return (
<button
type="button"
key={item.value}
data-active={value === item.value}
onClick={() => {
if (onChange) {
onChange(item.value);
}
}}
>
{item.label}
</button>
);
})}
</div>
I want to change it, to use Material UI tabs .我想改变它,使用Material UI tabs 。
I have the following:我有以下内容:
const MyComponent = ({ firstLetters }: Props) => {
const [value, setValue] = useState(0);
const handleChange = (_event: React.ChangeEvent<{}>, newValue: string) => {
console.warn(newValue);
setValue(newValue);
};
return (
<Tabs css={styles.tabsRoot} value={value} onChange={handleChange}>
{firstLetters?.map((item) => {
return (
<Tab
key={item.value}
label={item.label}
disableRipple
/>
);
})}
</Tabs>
)
};
How do I use onChange
like my previous onClick
function callback into the handleChange
function?如何像我之前的
onClick
function 回调到handleChange
function 一样使用onChange
?
According to the MUI docs , you should have value
and onChange
props in the Tabs
component.根据MUI docs ,您应该在
Tabs
组件中有value
和onChange
道具。 So, you should remove the onClick
prop from the Tab
components, and add the aforementioned Tabs
props like so:因此,您应该从
Tab
组件中删除onClick
道具,并添加上述Tabs
道具,如下所示:
<Tabs value={value} onChange={handleChange}>
{letters?.map((item) => {
return (
<Tab
key={item.value}
label={item.label}
disableRipple
value={item.value}
/>
);
})}
</Tabs>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.