Я пытаюсь выяснить, как сделать это в vue, я застрял, пытаясь связать значение «selected» в опциях.
В приведенном ниже упрощенном коде я получаю точночто я хочу, но только для первого продукта.Он правильно связывается с первым вычисляемым свойством:
<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"
, но это дает строку, а не вычисленное значение свойства ...