Skip to content

Fix Blazor TextArea Not Updating#67088

Draft
NanthiniMahalingam wants to merge 6 commits into
dotnet:mainfrom
NanthiniMahalingam:fix-45951
Draft

Fix Blazor TextArea Not Updating#67088
NanthiniMahalingam wants to merge 6 commits into
dotnet:mainfrom
NanthiniMahalingam:fix-45951

Conversation

@NanthiniMahalingam

Copy link
Copy Markdown

Description

When a <textarea> is initialized with content placed between its opening and closing tags (as per the HTML spec), and an onchange handler is wired up for two-way binding, the textarea's displayed value does not update when the component re-renders with new data — even though a sibling using a value attribute updates correctly.

Root cause

When Blazor's interactive renderer (WebAssembly/Server) processes an updateText diff edit for a <textarea>'s child text node, it only sets textNode.textContent. Browsers decouple the value property (the displayed/user-editable content) from textContent/defaultValue once the user has edited the field. So subsequent Blazor re-renders only update the defaultValue, leaving the visible value stale.

Code changes

After updating textNode.textContent, check if the text node's DOM parent is an HTMLTextAreaElement. If so, sync textarea.value = textarea.textContent in BrowserRenderer.cs

Testing

Added the Unit test for the text area not updating case. After adding the fix, text area value is updated when current page parameter changes.

Fixes #45951

Output

Before changes

Beforefix.mp4

After Changes

Afterfix.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-blazor Includes: Blazor, Razor Components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Blazor TextArea Not Updating

1 participant