#.net #blazor #placeholder #selected
#.net #blazor #.net-5 #плейсхолдер #выбрано
Вопрос:
Мне нужно установить выбранное значение в раскрывающемся списке в качестве заполнителя. С момента обновления до mcr.microsoft.com/dotnet/sdk:5.0 это больше не будет работать. Поле ввода просто пустое, и значение не выбрано. Он работал до обновления. Установка выбранного атрибута тоже не работает.
<InputSelect @bind-Value="someValue" id="someValue" required>
<option value="">some Text</option>
@foreach (var someValue in someValues)
{
<option value="@someValue">@someValue</option>
}
</InputSelect>
Спасибо за помощь!
Ответ №1:
Вам нужно убедиться, что ваша someValue
внутренняя часть вашей модели допускает значение null. Здесь вы определяете
<option value="">...
значение вашего параметра равно нулю или пустой строке. Если вы используете string в качестве типа данных, тогда все в порядке. Но если вы используете объект, подобный недавно добавленной поддержке System.Guid
, тогда это должно допускать значения с нулевым значением.
Например:
public Guid? someValue { get; set; } = null;
Использование Guid.Empty
также возможно, если вы используете это
<option value="@(System.Guid.Empty)">...
Но это зависит от ваших требований.
Ответ №2:
Представленный вами код отлично работает в rc2.
Примечание: я сделал предположения об EditForm
использовании.
<EditForm EditContext="SomeContext">
<InputSelect @bind-Value="someValue" id="someValue" required>
<option value="">some Text</option>
@foreach (var someValue in someValues)
{
<option value="@someValue">@someValue</option>
}
</InputSelect>
</EditForm>
@someValue
@code {
IEnumerable<string> someValues = new List<string> { "Value1", "Value2", "Value3" };
EditContext SomeContext { get; set; }
string someValue;
SomeModel someModel = new SomeModel();
protected override void OnInitialized()
{
SomeContext = new EditContext(someModel);
}
class SomeModel { }
}
Однако: вы везде используете «someValue». Мне нужно будет просмотреть больше вашего кода, чтобы найти ошибку. Если вы вставите это в нижнюю часть индексной страницы нежелательных / тестовых проектов, это сработает. EditForm
Возможно, проблема в конфигурации / привязках.
Комментарии:
1. Ваш код работает. Спасибо за ответ! «некоторый текст» предварительно выбирается при загрузке страницы.