Я пытаюсь понять, как это сделать в vue, я застрял, пытаясь привязать значение «выбранного» в параметрах.
В приведенном ниже упрощенном коде я получаю именно то, что хочу, но только для первого продукта. Он правильно связывается с первым вычисляемым свойством:
<template>
<div>
<div v-for="index in 2" :key="index">
<select>
<option :selected="product1 === ''">Empty</option>
<option
v-for="(product, index) of products"
:key="index"
:selected="product1 === product.name"
>{{product.name}}</option>
</select>
</div>
</div>
</template>
<script>
// chosen products come from vuex store
computed: {
product1() {
return store.state.product1;
},
product2() {
return store.state.product2;
},
}
</script>
Но тогда как я могу изменить это на автоматическое в цикле v-for, возможно, используя индекс?
На самом деле мне нужен цикл, который будет отображать это:
<template>
<div>
<select>
<option :selected="product1 === ''">Empty</option>
<option
v-for="(product, index) of products"
:key="index"
:selected="product1 === product.name"
>{{product.name}}
</option>
</select>
<select>
<option :selected="product2 === ''">Empty</option>
<option
v-for="(product, index) of products"
:key="index"
:selected="product2 === product.name"
>{{product.name}}
</option>
</select>
</div>
</template>
Я пробовал использовать что-то вроде:
:selected="`product${index}` === product.name"
но это дает строку, а не вычисленное значение свойства...