Issue
I'm trying to add a animation after I add a column on my row in antd,
Here's my code
import React, { useState } from 'react';
import { Col, Row } from 'antd';
const Page = () => {
const [isTwoColumn, setTwoColumn] = useState(false)
return (
<Row style={{
justifyContent: 'center',
alignItems: 'center',
marginBottom: 20
}}>
<Col span={12}>
<Button onClick={() => setTwoColumn(!isTwoColumn)}> update column </Button>
</Col>
{ isTwoColumn && (
<Col sm={24} lg={12}>
</Col>
) }
</Row>
)
}
As you can see in my code, the 2nd <Col> is optional and the <Row> has a style of justifyContent: 'center', so it will center my <Col> if the isTwoColumn is false because it has only 1 <Col> and its grid was 12/24, and if the isTwoColumn is true, it will move the first <Col> into the left side to add the second <Col> beside it.
The problem is it just move like a blink when I change the isTwoCloumn value to true, I want to add a animation on it that shows that the first <Col> moves to its designated location after the isTwoColumn value changes.
How can I do that?
Solution
You can use css transition
.row-transition {
transition: all 0.5s ease;
}
.col-item {
transition: all 0.5s ease;
}
<Row className="row-transition" style={{
justifyContent: 'center',
alignItems: 'center',
marginBottom: 20
}}>
<Col className="col-item" span={12}>
<Button onClick={() => setTwoColumn(!isTwoColumn)}> update column </Button>
</Col>
{isTwoColumn && (
<Col className="col-item" sm={24} lg={12}>
{/* Content of the second column */}
</Col>
)}
</Row>
Answered By - Akalanka Dissanayake
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.