vue 使用sort()方法报错:“You may have an infinite update loop in a component”

特意翻译了下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;
          }

注:排序的先后顺序

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页