Выберите элемент в угловом без обновления modelValue при втором выборе

У меня есть элемент select, связанный с моделью в угловом представлении. При заполнении формы с помощью клавиатуры, я заметил, что если вы переместите стрелку вниз ко второму варианту значения, модель все равно будет представлять первое значение. Это происходит только при использовании клавиатуры для заполнения формы.

Настройка довольно проста, с использованием угловых 1.4.3:

var app = angular.module('app', []);

app.controller('myController', function() {
  var vm = this;

  vm.options = [{
    Id: 1,
    Value: 'A'
  }, {
    Id: 2,
    Value: 'B'
  }, {
    Id: 3,
    Value: 'C'
  }]
});
<script src="https://code.angularjs.org/1.4.3/angular.js"></script>

<body ng-app="app">
  <div ng-controller="myController as ctrl">
    <p>
      Model is not updated on second down button push. Repro:
,      <ol>
        <li>Tab to select element</li>
        <li>Hit down and notice the optionId updated to 1</li>
        <li>Hit down again and notice that the displayed value changes to B, but optionId stays as 1</li>
        <li>Hit down again and notice that the displayed value changes to C, and optionId changes to 3</li>
        <li>Hit up and notice that displayed value changes to B, and optionId changes to 2</li>
      </ol>
      Why doesn't the optionId = 2 on the initial selection of B
    </p>
    <select id="mySelect" ng-options="item.Id as item.Value for item in ctrl.options" ng-model="ctrl.optionId" style="width:200px">
    </select>
    <div><strong>optionId: {{ctrl.optionId}}</strong>
    </div>
  </div>
</body>

Почему не обновляется модель при нажатии второй стрелки вниз?

Обновить Вот плункер, который демонстрирует поведение,http://plnkr.co/edit/Hiu67NTR3Gpk9jByZtQD?p=info

2-е обновление Вотмодифицированный поршень который реализует обходной путь, предложенный Мэттом. Этот обходной путь вызывает желаемое поведение в Chrome, Firefox и Internet Explorer

Ответы на вопрос(1)

Ваш ответ на вопрос