vue页面中通过v-for进行数据渲染,如果层次太多,有时候数据发生改变但是页面上看到的效果是毫无变化,可以通过this.$forceUpdate()手动刷新。

 

像这里我在表格内部单元格使用select下拉框,表格数据是for循环渲染的,单元格中select下拉选项也是for循环渲染的,层次多了就可能发生渲染慢的情况。

未使用this.$forceUpdate()强制渲染时,更改下拉选项要几秒才在界面上重新渲染,其实数据是一瞬间就改变了的,这时就要使用强制渲染。

这里我在select标签绑定chang事件,在chang方法中写this.$forceUpdate()强制渲染。十分有效,改变下拉选项后直接就渲染改变了。(≖ᴗ≖)✧

在select标签绑定chang事件 @change="dutyChange" 然后在methods中写方法dutyChange()

methods: {
    dutyChange() {
      this.$forceUpdate();
    },
}
Logo

前往低代码交流专区

更多推荐