Skip to content

Commit d4c0459

Browse files
authored
Merge pull request #1052 from rvsia/fixConditionTrigger
Fix condition trigger
2 parents 11cff66 + ed7be36 commit d4c0459

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

packages/react-form-renderer/src/form-renderer/render-form.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useContext } from 'react';
22
import PropTypes from 'prop-types';
3-
import set from 'lodash/set';
3+
import setWith from 'lodash/setWith';
44
import { Field } from 'react-final-form';
55
import RendererContext from '../renderer-context';
66
import Condition from '../condition';
@@ -44,7 +44,12 @@ const ConditionTriggerDetector = ({ values = {}, triggers = [], children, condit
4444
return (
4545
<Field name={name} subscription={{ value: true }}>
4646
{({ input: { value } }) => (
47-
<ConditionTriggerDetector triggers={[...internalTriggers]} values={set({ ...values }, name, value)} condition={condition} field={field}>
47+
<ConditionTriggerDetector
48+
triggers={[...internalTriggers]}
49+
values={setWith({ ...values }, name, value, Object)}
50+
condition={condition}
51+
field={field}
52+
>
4853
{children}
4954
</ConditionTriggerDetector>
5055
)}

packages/react-form-renderer/src/get-condition-triggers/get-condition-triggers.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import { memoize } from '../common';
2-
31
const mergeFunctionTrigger = (fn, field) => {
42
let internalTriggers = [];
53
const internalWhen = fn(field);
@@ -12,7 +10,7 @@ const mergeFunctionTrigger = (fn, field) => {
1210
return internalTriggers;
1311
};
1412

15-
const getConditionTriggers = memoize((condition, field) => {
13+
const getConditionTriggers = (condition, field) => {
1614
let triggers = [];
1715
if (Array.isArray(condition)) {
1816
return condition.reduce((acc, item) => [...acc, ...getConditionTriggers(item, field)], []);
@@ -49,6 +47,6 @@ const getConditionTriggers = memoize((condition, field) => {
4947
});
5048

5149
return Array.from(new Set(triggers));
52-
});
50+
};
5351

5452
export default getConditionTriggers;

0 commit comments

Comments
 (0)