Home

Awesome

BlazorTextarea

Improved textarea component which solves slow typing user experience of standard textarea.

What it does?

Blazor standard textarea value binding is slow in web assembly when a relatively small amount of characters are present. This component overcomes this by using StringBuilder and a simple difference engine via Javascript interop to transfer the changes. Generally you can expect 16x binding improvement with Web Assembly without AOT compilation and 1.5x with AOT. Server-Side Blazor binding sees no significant improvement but the inbuilt batching mechanism solves the 'Connection disconnected' issue.

Stats

Here are the limitations of the standard textarea binding compared to this improved Textarea component. For reference, 5 x Lorum Ipsum paragraphs equals about 3,500 characters, this is about one web page screen full of text.

Feature Summary

When to use?

Recommendations for when to use.

Installation

Latest version in here: NuGet

Install-Package BlazorTextarea

or

dotnet add package BlazorTextarea

The API

The Textarea component provides the same interface as a standard textarea with added batch update options

Server-Side Blazor 'Connection disconnected' issue

Here is some advice on this issue.

This issue can be resolved currently by changing the MaximumReceiveMessageSize or the SignalR Hub

builder.Services.AddServerSideBlazor()
    .AddHubOptions(o => o.MaximumReceiveMessageSize = null)

but, this component has batch updates built in to specifically solve this issue. Nothing needs to be done to implement this as it has a built in UpdateBatchCount of 16,000 that updates the value binding without disconnecting the connection.

Version History

Roadmap