当前位置:   article > 正文

vue 使用sort()方法报错:“You may have an infinite update loop in a component”_vue echarts 柱状图排序 报错sort

vue echarts 柱状图排序 报错sort

特意翻译了下You may have an infinite update loop in a component (组件中可能有无限的更新循环);
最近在做一个字母和数字组合排序的vue项目的时候,第一反应就是使用sort()函数,结果在直接对对应数组进行sort()的时候,居然报错了,奇怪。。。
后面百度了下,看到大家都出现这种情况,就否定了自己代码写错的疑虑。仔细一想,我是从后台获取到数据之后对数据赋值给data里变量再去sort()函数排序的;故我就在获取数据后先对数据进行排序处理后再去赋值,代码如下:

 	// 数组排序
      sortArr (arr) {
        arr.sort(function compareFunction(param1, param2) {
          return param1.localeCompare(param2);
        });
        return arr;
      },

	// 后台获取的数据
	 if (datas.code === 0) {
                if (datas.data!=null) {
                  datas.data.list.forEach(i => {
                    if (i.rooms && i.rooms.length != 0) {
                      i.rooms.forEach(item => {
                        if (item.roomNOs.length != 0) {
                          item.roomNOs = this.sortArr(item.roomNOs);   // 先排序
                        }
                      });
                    }
                  });
               }
               // 再赋值
               this.list = datas.data.list;
          }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

注:排序的先后顺序

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号