mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:39:05 +08:00
fix: 不要通过 isEqual 去比对 props.data 里面可能存在循环引用导致死循环 (#5353)
This commit is contained in:
parent
be0ff2991e
commit
16c3f89873
@ -354,8 +354,12 @@ export function wrapControl<
|
||||
// 渲染器中的 defaultValue 优先(备注: SchemaRenderer中会将 value 改成 defaultValue)
|
||||
if (
|
||||
!isEqual(props.defaultValue, prevProps.defaultValue) ||
|
||||
(!isEqual(props.data, prevProps.data) &&
|
||||
isNeedFormula(props.defaultValue, props.data, prevProps.data))
|
||||
(isNeedFormula(
|
||||
props.defaultValue,
|
||||
props.data,
|
||||
prevProps.data
|
||||
) &&
|
||||
props.data !== prevProps.data)
|
||||
) {
|
||||
const curResult = FormulaExec['formula'](
|
||||
props.defaultValue,
|
||||
@ -383,7 +387,7 @@ export function wrapControl<
|
||||
// value 非公式表达式时,name 值优先,若 defaultValue 主动变动时,则使用 defaultValue
|
||||
if (
|
||||
// 然后才是查看关联的 name 属性值是否变化
|
||||
!isEqual(props.data, prevProps.data) &&
|
||||
props.data !== prevProps.data &&
|
||||
(!model.emitedValue ||
|
||||
isEqual(model.emitedValue, model.tmpValue))
|
||||
) {
|
||||
|
Loading…
Reference in New Issue
Block a user