Я реализовал onchange
в списке данных в моем компоненте .razor на моем сервере Blazor /. NET Core 3.1. application.
В браузере, когда я выбираю опцию из списка данных, метод OnChanged
не запускается. Моя точка останова в OnChanged
- это , а не , ударил.
Я хочу, чтобы она сработала, а затем используйте OnChanged
для заполнения <select name="EventsInType">
, который я добавил <button
элемент на странице с @onclick="OnClicked"
в качестве примера чего-то, что работает - это срабатывает, и моя точка останова в OnClicked
поражена.
- Я попробовал ответ как предложено здесь , но это не работает.
- Кроме того, когда я меняю синтаксис с
@onchange="OnChanged"
на onchange="@OnChanged"
, я получаю следующее:
Не могу преобразовать группу методов «OnChanged» в тип без объекта «объект». Вы намеревались вызвать метод?
Я бы подумал, что это должно быть достаточно просто с Blazor, есть что-то, чего я здесь не понимаю?
Вот код:
@page "/"
@inherits EventDetailsBase
Event Type
<input autoComplete="on" list="EventTypes" placeholder="Search event types..." />
<datalist @onchange="OnChanged" id="EventTypes">
@foreach (var eventType in EventTypes)
{
<option value="@eventType.Name">@eventType.Name</option>
}
</datalist>
<select name="EventsInType">
</select>
<button class="btn btn-primary" @onclick="OnClicked">
Click Me
</button>
@code {
private void OnClicked(MouseEventArgs e)
{
var test = "";
}
private void OnChanged(ChangeEventArgs args)
{
//POPULATE HTML SELECT "EventsInType" HERE
}
}
Базовый класс, вероятно, не имеет значения, но здесь это так или иначе:
public class EventDetailsBase : ComponentBase
{
[Inject]
public IMyService MyService { get; set; }
public List<EventType> EventTypes { get; set; } = new List<EventType>();
protected override async Task OnInitializedAsync()
{
EventTypes = await MyService.GetEventTypes();
}
public void GetEventsByType(ChangeEventArgs changeEventArgs)
{
var test = changeEventArgs;
}
}
** Обратите внимание, я для простоты вставляю OnClicked
и OnChanged
в компонент .razor @code, в конце концов я перейду к Базовый класс.