Когда создается раскрывающийся список выбора, связанное свойство в модели представления не обновляется до параметра по умолчанию.
например Учитывая эту модель просмотра:
export class App {
@observable
selected = 0;
}
и этот вид
<select value.two-way="selected">
<option model.bind="1">1</option>
<option model.bind="2">2</option>
<option model.bind="3">3</option>
</select>
<span>
The selected value is: ${selected}
</span>
При первоначальном отображении страницы вы увидите «Выбранное значение: 0», хотя в раскрывающемся списке будет отображаться 1. Измените раскрывающийся список на 2 и обратно на 1, и вы увидите «Выбранное значение: 1».
Я понимаю, почему у вас может быть такое поведение, но оно отличается от Knockout (я конвертирую старое приложение Durandal)... есть ли способ заставить свойство viewmodel быть одним из допустимых вариантов выбора?
Живой plunkr здесь: http://plnkr.co/edit/v4y3k3TcEzOrm4P2ulNy?p=preview
ПРИМЕЧАНИЕ: настоящий мировой код не предназначен для установки свойства 'selected' в несуществующее значение, в раскрывающемся списке есть преобразователь значений, который отфильтровывает параметры, но не заставляет свойство viewmodel обновить до варианта по умолчанию.
Спасибо.
document.getElementById("myselect").value = "-1"
не будет запускать событие изменения. Поэтому я рекомендую вам обернуть ваши выборки в пользовательский элемент (или создать настраиваемый атрибут), который добавляет элемент опции, если selectedValue не существует в массиве опций. - person Schadensbegrenzer   schedule 06.06.2018