From 0d7900e30571a244bc5e0c1884aba671baabe87d Mon Sep 17 00:00:00 2001 From: tanjinzhou <415800467@qq.com> Date: Wed, 20 May 2020 17:30:00 +0800 Subject: [PATCH] fix: table infinite update #2270 --- components/table/Table.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/table/Table.jsx b/components/table/Table.jsx index 21137ee0f..f6c7fe177 100755 --- a/components/table/Table.jsx +++ b/components/table/Table.jsx @@ -416,7 +416,9 @@ export default { data = data.slice(0); const sorterFn = this.getSorterFn(currentState); if (sorterFn) { - data = this.recursiveSort(data, sorterFn); + // 使用新数组,避免改变原数组导致无限循环更新 + // https://github.com/vueComponent/ant-design-vue/issues/2270 + data = this.recursiveSort([...data], sorterFn); } // 筛选 if (filter && filters) { @@ -885,7 +887,7 @@ export default { item[childrenColumnName] ? { ...item, - [childrenColumnName]: this.recursiveSort(item[childrenColumnName], sorterFn), + [childrenColumnName]: this.recursiveSort([...item[childrenColumnName]], sorterFn), } : item, );