Основная проблема заключается в том, что вы пытаетесь установить ссылочную переменную внутри метода forEach
, который не будет иметь эффекта в итерируемом массиве.
Это было бы в случае , если бы вы бы установили отдельных членов ссылочной переменной , но это оставило бы вас с 2 различными объектами, что неизбежно сломало бы выборфункциональность.
Простейшим способом решения вашей проблемы (отслеживание выбранных объектов + обновление выбранных объектов при загрузке параметров) было бы использовать неизменный подход путем изменения:
this.selectedModels.forEach(sm => {
sm = this.options.find(o => o.id == sm.id);
})
К
const nextSelected = this.options
.filter(option => this.selectedModels.some(selected => selected.id === option.id)
this.selectedModels = nextSelected;
См. этот стек для набора примеров, демонстрирующих мой ответ.