Thank you for providing the clarification and the link to the Filament 4.x documentation. You are correct that partiallyRenderComponentsAfterStateUpdated is a valid method introduced in Filament v4 for performance optimization. I apologize for the previous incorrect information. The error "Call to a member function partiallyRender() on null" indicates that while the method exists, the object you are calling it on is null. This is a common PHP error that suggests the partiallyRender() method is being called on a variable that has not been properly instantiated or is not in the correct scope. This could be due to a bug in the specific version of Filament you are using or a conflict with another package. For the conditional visibility you're trying to achieve, live() and visible() are the correct methods to use. The partiallyRenderComponentsAfterStateUpdated method is an optimization that tells Livewire to only re-render the specified components (file_path and asset_path) when the state of the file_type field changes, rather than re-rendering the entire form. This is not required for the functionality to work, but it can improve performance. Since the code is throwing a fatal error, the best solution is to remove the line that is causing the problem. Your conditional logic will still work as intended without the performance optimization. Corrected Code Here is the code with the problematic line removed. Your form will still function correctly, conditionally showing and hiding the fields as you select the file_type. PHP Section::make(__('File Configuration')) ->id('file-configuration') ->schema([ Select::make('file_type') ->translateLabel() ->options(AdhanFileType::class) ->required() ->live() ->default(AdhanFileType::File) ->helperText(__('Choose whether this is a bundled asset or uploaded file')), FileUpload::make('file_path') ->label(__('Audio File')) ->acceptedFileTypes(['audio/mpeg', 'audio/mp3', 'audio/wav', 'audio/ogg']) ->directory('adhan-sounds') ->visibility('public') ->downloadable() ->previewable(true) ->required() ->visible(fn($get): bool => $get('file_type') === AdhanFileType::File) ->helperText(__('Upload an audio file (MP3, WAV, OGG formats supported)')), TextInput::make('asset_path') ->label(__('Asset Path')) ->required() ->visible(fn($get): bool => $get('file_type') === AdhanFileType::Asset) ->helperText(__('Enter the path to the bundled asset file (e.g., assets/sounds/adhan1.mp3)')), ]), Community Post Draft Here is a revised draft for the Filament community, explaining the issue accurately and seeking help for the specific null error. Subject: "Call to a member function partiallyRender() on null" with partiallyRenderComponentsAfterStateUpdated in Filament v4 Hello everyone, I'm trying to use the new partiallyRenderComponentsAfterStateUpdated method in my Filament v4 form, but I'm encountering a Call to a member function partiallyRender() on null error. My goal is to conditionally show a FileUpload or TextInput field based on the value of a Select field, and use partial rendering for performance. I have already confirmed that the method exists in the documentation for Filament v4, but the error suggests the method is being called on a null object. Here is a simplified version of my code: PHP Section::make(__('File Configuration')) ->schema([ Select::make('file_type') ->live() ->options(...) ->required() ->partiallyRenderComponentsAfterStateUpdated(['file_path', 'asset_path']), FileUpload::make('file_path') ->visible(fn($get) => $get('file_type') === 'file'), TextInput::make('asset_path') ->visible(fn($get) => $get('file_type') === 'asset'), ]), My questions for the community are: Is there a known issue or bug with partiallyRenderComponentsAfterStateUpdated that would cause this null error? Am I missing a required setup or dependency to use this feature correctly? Is there a specific way this method should be called within a Section or on a Select component?