laravel - 如何在表单中添加旧数据以选择输入(由 vue.js 循环)
问题描述
此代码适用于正常的选择输入
<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
(for v-model="model"
) 设置为您要选择的选项的 id。
我在下面包含了一个片段,它mounted
基于 oldCondition 执行此操作。
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>
推荐阅读
- java - 在 Android 中加载 .h5 模型文件
- javascript - 使用 date-fns 转换时间
- ios - 用于cordova-ios 5.1.1的cocoapod和cordova-plugin-firebase-authentication的正确版本
- html - 我正在尝试使用语义 UI 制作登录页面,但它不会与中心对齐
- youtube-api - 使用 YouTube LiveStreamingAPI(LiveChatMessages) 是否违反服务条款?
- vba - VBA 如何更改行颜色并将文本添加到单元格?
- gem5 - 调用 pkt->print() 时发生段错误
- bamboo - jib maven 插件如何向 docker hub 进行身份验证并发布到 ECR?
- postgresql - 如何使用 Hibernate 查询间隔列表?
- sql - 如何编写包含动态 SQL 代码的 SQL 服务器端模块(存储过程)来创建文档?