You may have an infinite update loop in a component render function.

今天遇到一个问题: You may have an infinite update loop in a component render function. 网上虽然没有和我一模一样的使用场景,但思想是差很少的。通过查资料终于解决,在此记录一下。html

使用场景: el-tooltip在某些状况下可用,某些状况下禁用,出现上述报错的代码以下:浏览器

html:

<el-tooltip
  effect="dark"
  :content="getCartStatus(scope.row)"
  placement="top"
  :disabled="disCartTooltip">
  </el-tooltip>
  
 js:
 getCartStatus(course) {
    this.disCartTooltip = course.isInCart === 1;
 },

复制代码

缘由是:bash

不停地更新变量状态,须要不停地渲染。oop

解决方法: 在渲染之前更新数据状态。在个人实例中,就是先告诉浏览器el-tooltip是否可用,若是可用,才去告诉浏览器hover的内容是什么。 代码以下:this

<el-tooltip
  effect="dark"
  :content="getCartStatus(scope.row)"
  placement="top"
  :disabled="scope.row.isInCart === 1">
</el-tooltip>
  
复制代码
相关文章
相关标签/搜索