此代码适用于正常选择输入
<select id="condition" name="condition" class="@error('condition') is-invalid @enderror form-control" >
<option value="" >Select Condition</option>
<option value="Brand New" {{ old('condition') === 'Brand New' ? 'selected' : '' }} >Brand New</option>
<option value="Recondition" {{ old('condition') === 'Recondition' ? 'selected' : '' }} >Recondition</option>
<option value="Used" {{ old('condition') === 'Used' ? 'selected' : '' }} >Used</option>
</select>
但我需要使用旧数据来选择通过Vue.js 循环的输入
<select class="form-control" name="model" id="model" v-model="model">
<option v-for="option in model_options[make]" v-bind:value="option.id" v-bind:key="option.id">@{{option.text}}</option>
</select>
我不确定我是否完全理解你在寻找什么。
我认为您只需要将model
(用于v-model="model"
(设置为您想要选择的选项的id。
我在下面包含了一个片段,它在基于oldCondition的mounted
上执行此操作。
new Vue({
el: "#app",
data: () => {
return {
oldCondition: "Recondition",
model: null,
make: 0,
model_options: [
[{
id: 1,
text: "Brand New"
}, {
id: 2,
text: "Recondition"
}, {
id: 3,
text: "Used"
}]
]
};
},
mounted() {
if (this.oldCondition)
this.model = this.model_options[this.make].filter(x => x.text === this.oldCondition)[0].id;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div>Old Condition: {{oldCondition}}</div>
<br />
<select class="form-control" name="model" id="model" v-model="model">
<option>Select Condition</option>
<option v-for="option in model_options[make]" :value="option.id" :key="option.id">@{{option.text}}</option>
</select>
</div>