Когато се създаде падащо меню за избор, обвързаното свойство на модела на изглед не се актуализира до опцията по подразбиране.
напр. При този изгледен модел:
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
ЗАБЕЛЕЖКА: истинският световен код не цели задаване на свойството „избрано“ на несъществуваща стойност, падащото меню има преобразувател на стойност, който филтрира опциите, но не принуждава свойството на модела на изгледа да актуализирайте до опцията по подразбиране.
Благодаря.
document.getElementById("myselect").value = "-1"
няма да задейства събитието за промяна. Затова ви препоръчвам да опаковате избраните от вас елементи в персонализиран елемент (или да създадете персонализиран атрибут), който добавя опцията, ако selectedValue не съществува в масива с опции. - person Schadensbegrenzer   schedule 06.06.2018