Blazorise MemoEdit component
MemoEdit collect data from the user and allow multiple lines of text.
MemoEdit is an input field component for multi-line text input based on a <textarea>
element.
Basic
<MemoEdit Rows="5" />
Tab override
By default a<textarea>
will lose focus when you press the tab key. If you want to allow tabs to be entered
you just need to enable it with ReplaceTab
, and optionally a TabSize
parameter.
<MemoEdit Rows="5" ReplaceTab TabSize="4" />
Auto size
Unless set to a fixed height, MemoEdit adjusts its height automatically based on its content. The default and minimum height is two rows of text.<MemoEdit Text="" AutoSize />
@code { string loremipsum = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel semper libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. Proin volutpat, sapien ut facilisis ultricies, eros purus blandit velit, at ultrices mi libero quis ante. Curabitur scelerisque metus et libero convallis consequat. Pellentesque feugiat pulvinar nisl sed pellentesque."; }
Binding
Two-way binding
By usingbind-*
attribute the text will be automatically assigned to the member variable.
<MemoEdit @bind-Text="" />
@code{ string description; }
Mannual event binding
When using the eventTextChanged
, you also must define the Text
value attribute.
<MemoEdit Text="" TextChanged="" />
@code{ string description; Task OnDescriptionChanged( string value ) { description = value; return Task.CompletedTask; } }
Settings
Text Changed mode
By default theTextChanged
event will be raised on every keypress.
To override default behavior of TextChanged
event and to disable the change on every
keypress you must set the Immediate
to false
on application start.
After setting it to false
the event will be raised only after the input loses focus.
public void ConfigureServices( IServiceCollection services ) { services .AddBlazorise( options => { options.Immediate = false; } ); }
Text Delay mode
Because of some limitations in Blazor, sometimes there can be problems whenImmediate
is enabled.
Basically if you try to type too fast into the text field the caret can jump randomly from current selection
to the end of the text. To prevent that behaviour you need to enable Debounce
. Once enabled it will
slightly delay every value entered into the field to allow the Blazor engine to do it’s thing.
By default this option is disabled.
public void ConfigureServices( IServiceCollection services ) { services .AddBlazorise( options => { options.Debounce = true; options.DebounceInterval = 300; } ); }
Note: All of the options above can also be defined on each
MemoEdit
individually.
Defining them on MemoEdit
will override any global settings.
API
Attributes
Name | Description | Type | Default |
---|---|---|---|
Text |
Input value. | string |
null |
TextChanged |
Occurs after text has changed. | EventCallback<string> |
|
Plaintext |
Remove the default form field styling and preserve the correct margin and padding. | bool |
false |
ReadOnly |
Prevents modification of the input’s value. | bool |
false |
Disabled |
Prevents user interactions and make it appear lighter. | bool |
false |
MaxLength |
Specifies the maximum number of characters allowed in the input element. | int? |
null |
Placeholder |
Sets the placeholder for the empty text. | string |
null |
Rows |
Specifies the number lines in the input element. | int? |
null |
Size |
Component size variations. | Size |
Default |
Immediate |
If true the text in will be changed after each key press (overrides global settings). | bool? |
null |
Debounce |
If true the entered text will be slightly delayed before submitting it to the internal value. | bool? |
null |
DebounceInterval |
Interval in milliseconds that entered text will be delayed from submitting to the internal value. | bool? |
null |
ReplaceTab |
If set to true, ReplaceTab will insert a tab instead of cycle input focus. | bool |
false |
TabSize |
Defines the number of characters that tab key will override. | int |
4 |
SoftTabs |
If set to true, spaces will be used instead of a tab character | bool |
true |
AutoSize |
If true, the textarea will automatically grow in height according to its content. | bool |
false |
Pattern |
The pattern attribute specifies a regular expression that the input element's value is checked against on form validation.
Please be aware that Pattern on MemoEdit is used only for the validation process.
|
string |
null |