Skip to content

->live(onBlur: true) ignores partial rendering constraints when state is not updated #19764

@gp-lnuff

Description

@gp-lnuff

Package

filament/schemas

Package Version

v5.6.1

Laravel Version

v13.6.0

Livewire Version

v4.2.4

PHP Version

PHP 8.5.3

Problem description

When a field is set to live() with onBlur: true,
any restrictions on partial rendering configured through partiallyRenderComponentsAfterStateUpdated()
will be ignored if the field is blurred without updating the state.

Expected behavior

The field would partially render the components it's configured to when it loses focus.
The field would not render other components when it loses focus.

Steps to reproduce

  • Navigate to the User resource in the reproduction repository
  • Create a new User (or Edit the test user)
  • In the belowContent() of both the email and password fields, a Closure is configured to display the value of the user name. However, the name field is set to only partially render the email field.
  • Change the name field
  • Have the field lose focus
  • Observe how the email field's belowContent() changed, but password's does not.
  • Focus the name field anew
  • Have the field lose focus without changing the state of the field
  • Oserve how both the email and password fields' belowContent() is updated

Reproduction repository (issue will be closed if this is not valid)

https://github.com/gp-lnuff/filament-issue/tree/live-onblur

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    Status
    Todo

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions