mirror of
https://gitee.com/ant-design-vue/ant-design-vue.git
synced 2024-12-16 01:41:15 +08:00
34 lines
809 B
JavaScript
34 lines
809 B
JavaScript
import animate from './css-animation';
|
|
const noop = () => {};
|
|
const getTransitionProps = (transitionName, opt = {}) => {
|
|
const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag } = opt;
|
|
const transitionProps = {
|
|
props: {
|
|
appear,
|
|
css: false,
|
|
},
|
|
on: {
|
|
beforeEnter: beforeEnter || noop,
|
|
enter:
|
|
enter ||
|
|
((el, done) => {
|
|
animate(el, `${transitionName}-enter`, done);
|
|
}),
|
|
afterEnter: afterEnter || noop,
|
|
leave:
|
|
leave ||
|
|
((el, done) => {
|
|
animate(el, `${transitionName}-leave`, done);
|
|
}),
|
|
afterLeave: afterLeave || noop,
|
|
},
|
|
};
|
|
// transition-group
|
|
if (tag) {
|
|
transitionProps.tag = tag;
|
|
}
|
|
return transitionProps;
|
|
};
|
|
|
|
export default getTransitionProps;
|