Skip to content

Commit a90a20c

Browse files
committed
fix get default style transform-origin been deleted
1 parent cc1ff36 commit a90a20c

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

examples/scrollAnimChildrenUpdateStyle.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function Demo() {
1717
key="1"
1818
animation={{ y: 30, type: 'from', ease: 'easeOutQuart', opacity: 0 }}
1919
reverseDelay={200}
20-
style={{ background: '#fff000' }}
20+
style={{ background: '#fff000',transform: 'translateX(20px)', transformOrigin: 'center' }}
2121
component={Col}
2222
>
2323
执行动画

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rc-tween-one",
3-
"version": "2.3.0",
3+
"version": "2.3.1",
44
"description": "tween-one anim component for react",
55
"keywords": [
66
"react",

src/Tween.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
import easingTypes from './easing';
1818
import _plugin from './plugins';
1919
import StylePlugin from './plugin/StylePlugin';
20-
import { startConvertToEndUnit } from './util.js';
20+
import { startConvertToEndUnit, transformOrFilter } from './util.js';
2121

2222
const DEFAULT_EASING = 'easeInOutQuad';
2323
const DEFAULT_DURATION = 450;
@@ -408,7 +408,7 @@ const getDefaultStyle = function (domStyle, defaultStyle, tweenData) {
408408
if (!(name in $data)) {
409409
const styleName = toCssLowerCase(isTransform(getGsapType(name)));
410410
domStyleToArray = domStyleToArray.filter(item => {
411-
if (item[0].match(/transform|filter/ig) && styleName.match(/transform|filter/ig)) {
411+
if (transformOrFilter[item[0]] && transformOrFilter[styleName]) {
412412
return false;
413413
}
414414
return item[0] !== styleName;
@@ -417,14 +417,14 @@ const getDefaultStyle = function (domStyle, defaultStyle, tweenData) {
417417
})
418418
});
419419
styleToArray.forEach(item => {
420-
domStyleToArray = domStyleToArray.map($item => {
420+
domStyleToArray = domStyleToArray.filter($item => {
421421
if ($item[0] === item[0]) {
422-
return item;
422+
return false;
423423
}
424-
return $item;
424+
return true;
425425
});
426426
})
427-
return domStyleToArray.map(item => item.join(':')).join(';');
427+
return styleToArray.concat(domStyleToArray).map(item => item.join(':')).join(';');
428428
}
429429

430430
p.resetDefaultStyle = function () {

src/util.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ export const windowIsUndefined = !(
66
window.document.createElement
77
);
88

9+
export const transformOrFilter = {
10+
transform: 1,
11+
'-ms-transform': 1,
12+
'-moz-transform': 1,
13+
'-webkit-transform': 1,
14+
'-o-transform': 1,
15+
filter: 1,
16+
'-webkit-filter': 1
17+
};
18+
919
export function toArrayChildren(children) {
1020
const ret = [];
1121
React.Children.forEach(children, (c) => {

0 commit comments

Comments
 (0)