ButtonGroup
предполагает, что его прямые дочерние элементы являются Button
элементами. Если ребенку не указана опора variant
, ButtonGroup
будет давать ребенку свой вариант . В вашем случае у вас есть дочерний элемент, который является элементом Slide
, и для этого элемента Slide
не указан указанный вариант, поэтому ButtonGroup
дает ему один (text
в вашем случае). Slide
передает это свойство на элементу, который оборачивает, и таким образом переопределяет variant
вашего contained
Button
.
Вы можете преодолеть это, указав вариант на Slide
элемент:
import React from "react";
import Button from "@material-ui/core/Button";
import ButtonGroup from "@material-ui/core/ButtonGroup";
import Slide from "@material-ui/core/Slide";
export default function App() {
const [slideIn, setSlideIn] = React.useState(false);
return (
<ButtonGroup variant="text">
<Button onClick={e => setSlideIn(true)}>Slide In</Button>
<Button onClick={e => setSlideIn(false)}>Slide Out</Button>
<Slide
variant="contained"
direction="left"
in={slideIn}
mountOnEnter
unmountOnExit
>
<Button variant="contained">Schedule Site Visit</Button>
</Slide>
</ButtonGroup>
);
}
![Edit Slide contained Button](https://codesandbox.io/static/img/play-codesandbox.svg)