为了账号安全,请及时绑定邮箱和手机立即绑定

萌新求教!Vue this.$nextTick() 之后再执行,导致渲染不准确各位有什么建议?

萌新求教!Vue this.$nextTick() 之后再执行,导致渲染不准确各位有什么建议?

眼眸繁星 2019-11-03 10:16:55
问题this.$nextTick(()=>{this.$refs.multipleTable.toggleAllSelection()this.isChecked=false})注意:this.$refs.multipleTable.toggleAllSelection()必须放在this.$nextTick()里面执行才能生效如上所示我希望先执行this.$refs.multipleTable.toggleAllSelection(),再this.isChecked=false,但是经过测试发现this.isChecked=false总是在前执行导致页面渲染不正确弱鸡解决法this.$nextTick(()=>{this.$refs.multipleTable.toggleAllSelection()setTimeout(()=>{this.isChecked=false},100);})这样可以解决这个问题,但是总感觉不太好尝试过封装asyncawit但是无效如下:constnextTickAsync=()=>{returnnewPromise((resolve,reject)=>{this.$nextTick(()=>{this.$refs.multipleTable.toggleAllSelection();resolve(true)})})}constisCheckedAsycn=()=>{returnnewPromise((resolve,reject)=>{this.$nextTick(()=>{this.isChecked=falseresolve(true)})})}(async()=>{awaitnextTickAsync()awaitisCheckedAsycn()})()求问解决方法?如何先执行完this.$nextTick()在执行后续的this.isChecked=false
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

this.$refs.multipleTable.toggleAllSelection()
this.$nextTick(()=>{
this.isChecked=false
})
                            
查看完整回答
反对 回复 2019-11-03
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

注意:this.$refs.multipleTable.toggleAllSelection()必须放在this.$nextTick()里面执行才能生效
                            
查看完整回答
反对 回复 2019-11-03
  • 2 回答
  • 0 关注
  • 237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信