Пользовательский компонент Blazor InputTextC#

Место общения программистов C#
Anonymous
Пользовательский компонент Blazor InputText

Сообщение Anonymous »

Я пытаюсь создать «составной» компонент текстового ввода Blazor.
Я хотел бы объединить
  • заголовок/метка для текстового поля ввода
  • фактическое текстовое поле ввода
  • счетчик, показывающий, сколько символов из заданного максимума length уже использовались
Пока я создал что-то вроде этого (немного упрощенно):

Код: Выделить всё

MyInputText.razor:


@Title




@CurrentChars / @MaxChars


Код: Выделить всё

MyInputText.razor.cs:
public partial class MyTextInput
{
[Parameter]
[EditorRequired]
public string Title { get; set; } = string.Empty;

[Parameter]
[EditorRequired]
public string Value { get; set; } = string.Empty;

[Parameter]
[EditorRequired]
public int MaxChars { get; set; } = 255;

public int CurrentChars { get; set; }

private void TextInputEvent()
{
CurrentChars = Value.Length;
}
}
Кажется, что почти работает, но:
  • Кажется, что работает быть всегда «на шаг позади» — поэтому, если у меня четыре символа и я ввожу пятый — для «CurrentChars» установлено значение 4. Кажется, он смотрит на «старое» содержимое Value — перед символом Я только что набрал, зарегистрирован
  • Похоже, что это работает только для первого набираемого символа - любые последующие символы, похоже, не срабатывают обработчик TextInputEvent больше...
Есть идеи, чего мне здесь не хватает?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -component

Вернуться в «C#»