示例背景:
代码语言:javascript复制<switch :checked="onlineStatus" @change="switchCarStatus()"/>
上面是一个 uni-app 中 switch 切换状态的组件,这个组件存在一个问题:
这里我们通过变量 onlineStatus 的值来控制按钮是否属于活动状态,当我们点击它时,状态值改变了,这时,由于业务逻辑判断应该是非活动状态时,页面显示的按钮还是活动状态,遇到这种情况,我们就需要用到 VUE 中的强制刷新文档流的方式来改变页面按钮的状态。
代码语言:javascript复制switchCarStatus(){
this.onlineStatus=!this.onlineStatus;
//当不符合状态时,需要还原页面显示状态
this.$nextTick(() => {
setTimeout(() => {
this.onlineStatus=!this.onlineStatus;
this.$forceUpdate() //强制更新
}, 0)
});
}
以上就是我们强制刷新页面文档流的方式。