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

Vue this.$nextTick() 之后再执行,导致渲染不准确万分感谢

Vue this.$nextTick() 之后再执行,导致渲染不准确万分感谢

临摹微笑 2019-10-16 08:58:39
问题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 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

this.$refs.multipleTable.toggleAllSelection()
this.$nextTick(()=>{
this.isChecked=false
})
                            
查看完整回答
反对 回复 2019-10-16
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

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

添加回答

举报

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