Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field remove value duplicates items when conditionally rendering form #957

Open
SethThoburn opened this issue Sep 23, 2024 · 2 comments
Open

Comments

@SethThoburn
Copy link

Describe the bug

When adding list items to an array field with form.pushFieldValue, removing items doesn't work correctly if the form is conditionally rendered. The items are removed, but the last item is added back on the end, keeping the array the same length.

For example, if you have items 1, 2, 3, 4 and remove item 2, you are left with 1, 3, 4, 4.

Your minimal, reproducible example

https://stackblitz.com/edit/tanstack-form-qgeu9c?file=src/index.tsx&preset=node

Steps to reproduce

  1. Press "upload" to simulate uploading a spreadsheet.
  2. Remove one of the first three items.
  3. Notice how, while the item is removed, "Jordan" is appended on the end.

Expected behavior

  1. The value is removed and we are left with a list of 3 items, not 4.

How often does this bug happen?

Every time

Screenshots or Videos

No response

Platform

  • OS: MacOS
  • Browser: Arc (Chromium)
  • Version: 128.0.6613.120 (Official Build) (arm64)

TanStack Form adapter

react-form

TanStack Form version

v0.33.0

TypeScript version

v5.6.2

Additional context

No response

@danielmarcano
Copy link

Have you found a solution to this issue @SethThoburn? I'm experiencing something similar...

@SethThoburn
Copy link
Author

@danielmarcano It only seems to happen if the form is conditionally rendered, so I set the display to none rather than doing conditional rendering, I can make a reproduction later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants