Привязка выбора к массиву объектов в Aurelia и сопоставление по идентификатору
Итак, у меня есть список всех пользователей, который заполняет параметры выбора.
<option repeat.for="user of userService.users">
${user.firstName} ${user.lastName}
</option>
И у меня есть входящая групповая запись, к которой прикреплен список пользователей. Я следуюобмануть инструкции и привязать его к одному индексу модели.
<select value.bind="group.users[0]">
<option repeat.for="user of userService.users" model.bind="user">
${user.firstName} ${user.lastName}
</option>
</select>
Итак, входящий пользователь в группе идентичен одному из пользователей в списке:
{
id: 123,
firstName: 'Matt',
lastName: 'Davis'
}
Но когда группа загружена и привязана к представлению, правильный пользователь не выбирается из выбора. На самом деле, я ожидал бы, что JavaScript будет искать ссылочное равенство.
В идеале я бы хотел, чтобы Aurelia обнаружила, что входящая запись такая же, как указано выше, и (a) просмотрите список опций, проверяющих равенство (b), которые я определил в каком-то расширении (может быть, в фильтре?), (C) выберите он находится в списке и (d) распространяет этот выбор обратно в запись, так что теперь запись референциально синхронизирована.
Я бы предпочел не отступать от триггера, который делает это вручную, потому что в моем приложении будет много и много подобного выбора.
Я бы согласился, хотя и к сожалению, для (а) и (с).