diff --git a/packages/amis/src/renderers/Table/index.tsx b/packages/amis/src/renderers/Table/index.tsx index fd14fa0a856..484abfda01c 100644 --- a/packages/amis/src/renderers/Table/index.tsx +++ b/packages/amis/src/renderers/Table/index.tsx @@ -730,16 +730,17 @@ export default class Table< let updateRows = false; // 要严格比较前后的value值,否则某些情况下会导致循环update无限渲染 - if ( - Array.isArray(value) && - (!prevProps || + if (Array.isArray(value)) { + if ( + !prevProps || !isEqual( getPropValue(prevProps, (props: TableProps) => props.items), value - )) - ) { - updateRows = true; - rows = value; + ) + ) { + updateRows = true; + rows = value; + } } else if (typeof source === 'string') { const resolved = resolveVariableAndFilter(source, props.data, '| raw'); const prev = prevProps