From 0bb9de28af4eba4e929b65c4a1ef97faee40f58c Mon Sep 17 00:00:00 2001 From: wangyaqi Date: Mon, 8 Jun 2020 17:28:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DcreateAnimation?= =?UTF-8?q?=E6=97=B6=E9=83=A8=E5=88=86=E5=8A=A8=E7=94=BB=E4=BD=BF=E7=94=A8?= =?UTF-8?q?rpx=E6=97=A0=E6=95=88=E6=9E=9C=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/view/components/icon/index.vue | 6 +++--- src/core/view/mixins/animation.js | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/core/view/components/icon/index.vue b/src/core/view/components/icon/index.vue index 921f246a5..54a927b38 100644 --- a/src/core/view/components/icon/index.vue +++ b/src/core/view/components/icon/index.vue @@ -28,9 +28,9 @@ export default { }, methods: { _converPx (value) { - if (/\d+[ur]px$/i.test(value)) { - value.replace(/\d+[ur]px$/i, text => { - return `${uni.upx2px(parseFloat(text))}px` + if (/^-?\d+[ur]px$/i.test(value)) { + return value.replace(/(^-?\d+)[ur]px$/i, (text, num) => { + return `${uni.upx2px(parseFloat(num))}px` }) // eslint-disable-next-line no-useless-escape } else if (/^-?[\d\.]+$/.test(value)) { diff --git a/src/core/view/mixins/animation.js b/src/core/view/mixins/animation.js index 7776b8f3e..9ae7baff0 100644 --- a/src/core/view/mixins/animation.js +++ b/src/core/view/mixins/animation.js @@ -1,7 +1,7 @@ function converPx (value) { - if (/\d+[ur]px$/i.test(value)) { - value.replace(/\d+[ur]px$/i, text => { - return `${uni.upx2px(parseFloat(text))}px` + if (/^-?\d+[ur]px$/i.test(value)) { + return value.replace(/(^-?\d+)[ur]px$/i, (text, num) => { + return `${uni.upx2px(parseFloat(num))}px` }) // eslint-disable-next-line no-useless-escape } else if (/^-?[\d\.]+$/.test(value)) { @@ -73,7 +73,9 @@ function startAnimation (context) { } } - animate() + setTimeout(() => { + animate() + }, 0) } export default { -- GitLab