Skip to content

Async default values not applied to untouched fields after other fields are edited #2229

Description

@Alan-Gomes

Describe the bug

When a form is created with defaultValues that include a field whose value arrives asynchronously, that field does not receive its updated default value after the async data loads if the user has already edited another field in the meantime.

The async field stays empty instead of being populated with the loaded default.

This is important to make forms usable while small parts of it are still loading, avoiding the need to block the entire form to workaround the issue. In our case, the user should be able to modify other fields, even if the form is not ready for submission yet (we disable the submit button and the pending fields).

Your minimal, reproducible example

https://codesandbox.io/p/sandbox/goofy-chatelet-q8r3ff

Steps to reproduce

In the reproduction example:

  1. Render the form (the async field starts with an empty default).
  2. Before the async value resolves (3s), type into the name field.
  3. Wait for the async value to load.
  4. Observe that asyncField remains empty instead of showing "loaded default".

Expected behavior

When async data arrives and defaultValues are updated on re-render, untouched fields should receive their new default values even if other fields have already been edited.

Screenshots or Videos

Recording_2026-07-01_19-21-07.mp4

Platform

TanStack Form adapter: React (@tanstack/react-form)
Browser: Chrome (latest)
OS: macOS

TanStack Form adapter

None

TanStack Form version

1.33.0

TypeScript version

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions