Ответ такой (см. комментарии выше):
Ссылка на пример кода:
https://codepen.io/kerf/pen/Ngxmem
Вот это присвоение сработает только один раз при инициализации компонента:
data() {
return {
selected: this.value
}
Чтобы обновлять selected при изменении value можно воспользоваться одним из следующих способов:
1. слежение за изменением:
watch: {
value: function () {
this.selected = this.value
}
}
2. обновляем в хуке:
beforeUpdate() {
this.selected = this.value
}
3. в пропсы передать объект, он передается по ссылке, поэтому если в нем снаружы изменить значения, они автоматически должны измениться внутри компонента (не проверял, но по логике должно работать).