Код: Выделить всё
@if (manufacturersRetrieved)
{
@foreach (var option in filteredManufacturers)
{
@option.ManufacturerName
}
Get All Manufacturers
@if (modelsRetrieved)
{
@if (filteredModels == null)
{
}
else
{
@foreach (var option in filteredModels)
{
@option.ModelName
}
}
}
}
@code {
private IEnumerable manufacturers = new List();
private IEnumerable filteredManufacturers = new List();
private IEnumerable models = new List();
private IEnumerable filteredModels = new List();
private string manufacturerFilter = "";
private string modelFilter = "";
private bool manufacturersRetrieved = false;
private bool modelsRetrieved = false;
private ManufacturerDto selectedManufacturer = null;
private ModelDto selectedModel = null;
protected override void OnInitialized()
{
manufacturers = _iDataService.GetManufacturersFromLocalData().OrderBy(x => x.ManufacturerName);
manufacturersRetrieved = true;
ApplyManufacturerFilter(null);
}
private void ApplyManufacturerFilter(ChangeEventArgs e)
{
filteredManufacturers = manufacturers.Where(x => x.ManufacturerName.ToLower().Contains(manufacturerFilter.ToLower()));
}
private async Task GetManufacturers()
{
manufacturers = await _iCarService.GetManufacturersFromApi();
filteredManufacturers = manufacturers.OrderBy(x => x.ManufacturerName).Where(x => x.ManufacturerName.ToLower().Contains(manufacturerFilter.ToLower()));
}
private async Task RetrieveModels(long manufacturerId)
{
models = (await _iCarService.GetModelsOnManufacturerId(manufacturerId)).OrderBy(x => x.ModelName).ToList();
modelsRetrieved = true;
ApplyModelFilter(null);
}
private void ApplyModelFilter(ChangeEventArgs e)
{
modelFilter = e.Value.ToString();
filteredModels = models.Where(x => x.ModelName.ToLower().Contains(modelFilter.ToLower()));
}
}
Я пробовал много способов, но этот кажется наиболее эффективным.
Я пытался сделать OnClose< /code> в MudSelect, но этого недостаточно. Я даже пытался перечислить все как кнопку, но нет.
Подробнее здесь: https://stackoverflow.com/questions/762 ... -triggered
Мобильная версия