From d93cce88c8359986d8665e568d1eae51778f2554 Mon Sep 17 00:00:00 2001 From: zhijun <550843086@qq.com> Date: Tue, 24 Sep 2019 20:41:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BB=B6=E6=97=B6=E5=87=BD=E6=95=B0=E8=A7=A3?= =?UTF-8?q?=E5=86=B3setstate=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/App.js b/src/App.js index 66a7a33..bbe8df6 100644 --- a/src/App.js +++ b/src/App.js @@ -451,6 +451,7 @@ class App extends React.Component { currentOptionArr = this.currentOptionArr; } let { css } = currentOptionArr[index]; + //console.log('css', css); let { width, height, @@ -1066,6 +1067,12 @@ ${json.plain(this.finallObj).replace(/px/g, 'px')} } confirmImportCode() { let canvas_sprite = this.canvas_sprite; + //延时函数 解决setstate异步加载问题 + const delay = ms => + new Promise(resolve => { + clearTimeout(this.delayT); + this.delayT = setTimeout(resolve, ms); + }); canvas_sprite.loadFromJSON(this.state.importCodeJson, async () => { this.setState({ visibleImportCode: false @@ -1075,6 +1082,7 @@ ${json.plain(this.finallObj).replace(/px/g, 'px')} const element = Objects[index]; this.activeObject = element; this.changeActiveObjectValue(); + await delay(0); await this.updateObject(); } this.setState({ @@ -1422,7 +1430,6 @@ ${json.plain(this.finallObj).replace(/px/g, 'px')} {!_.isArray(optionArr[i].css[item2]) && item2 === 'text' && (