Vinculando um select a uma matriz de objetos no Aurelia e correspondendo no ID

Então, eu tenho uma lista de todos os usuários, que preenche as opções de um select.

<option repeat.for="user of userService.users">
  ${user.firstName} ${user.lastName}
</option>

E eu tenho um registro de grupo recebido que tem uma lista de usuários anexados a ele. Eu sigo otrapacear instruções e vincule-o a um único índice do modelo.

<select value.bind="group.users[0]">
    <option repeat.for="user of userService.users" model.bind="user">
      ${user.firstName} ${user.lastName}
    </option>
</select>

Portanto, o usuário recebido no grupo é idêntico a um dos usuários da lista:

{
    id: 123,
    firstName: 'Matt',
    lastName: 'Davis'
}

Mas quando o grupo é carregado e vinculado à visualização, o usuário correto não é escolhido na seleção. Na verdade, eu esperaria isso, pois o JavaScript procuraria igualdade referencial.

Idealmente, eu gostaria que Aurelia descobrisse que o registro recebido é o acima e (a) pesquise na lista de opções testando a igualdade (b) que eu defini em alguma extensão (talvez um filtro?), (C) selecione na lista e (d) propague essa seleção de volta para o registro, para que o registro esteja agora referencialmente em sincronia.

Prefiro não voltar a um gatilho que faz isso manualmente, porque terei muitos e muitos desses tipos de seleções em todo o meu aplicativo.

Eu me contentaria, embora infelizmente, com (a) e (c).

questionAnswers(1)

yourAnswerToTheQuestion