diff --git a/src/components/mui/__tests__/additional-input-list.test.js b/src/components/mui/__tests__/additional-input-list.test.js
index 42a421fd..0db6d195 100644
--- a/src/components/mui/__tests__/additional-input-list.test.js
+++ b/src/components/mui/__tests__/additional-input-list.test.js
@@ -149,6 +149,47 @@ describe("AdditionalInputList", () => {
expect(screen.getByTestId("field-count")).toHaveTextContent("2");
});
});
+
+ test("new meta field starts with empty values when an existing field already has values", async () => {
+ let capturedFields = null;
+
+ const TestWrapper = () => {
+ const { values } = useFormikContext();
+ capturedFields = values.meta_fields;
+ return ;
+ };
+
+ render(
+
+
+
+ );
+
+ const addButton = screen.getByTestId("add-btn-0");
+ await userEvent.click(addButton);
+
+ await waitFor(() => {
+ expect(capturedFields).toHaveLength(2);
+ expect(capturedFields[1].values).toEqual([]);
+ });
+ });
});
describe("handleRemove", () => {
diff --git a/src/components/mui/formik-inputs/additional-input/meta-field-values.js b/src/components/mui/formik-inputs/additional-input/meta-field-values.js
index de179930..67fb685a 100644
--- a/src/components/mui/formik-inputs/additional-input/meta-field-values.js
+++ b/src/components/mui/formik-inputs/additional-input/meta-field-values.js
@@ -44,12 +44,11 @@ const MetaFieldValues = ({
};
const handleAddValue = () => {
- const newFields = [...metaFields];
- newFields[fieldIndex].values.push({
- value: "",
- name: "",
- is_default: false
- });
+ const newFields = metaFields.map((f, i) =>
+ i === fieldIndex
+ ? { ...f, values: [...f.values, { value: "", name: "", is_default: false }] }
+ : f
+ );
setFieldValue(baseName, newFields);
};