javascript - VueJs 从数据库中选择默认值
问题描述
我正在使用el-select但我无法在编辑页面中选择默认值。
它选择相同数量的数据但错误的详细信息。让我们通过这张图片向您展示:
所以我的这个数据有 2 个值,但是值是
core 17
,core 19
但是在这里你看到我得到了core 1
,core 1
所以我得到了正确的数量但错误的数据。
代码
template
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="Cores">
<el-select style="width: 100%;" filterable multiple clearable v-model="form.cores" placeholder="Select Cores">
<el-option
v-for="core in cores"
:key="core.id"
:label="core.name"
:selected="core.id === form.cores.id"
:value="core.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
script
我评论了每个部分给你不要混淆
data() {
return {
cores: [], // core 1 till core 20
form: {
name: '',
position: '',
link_id: '',
cable_id: '',
cores: [], // core 17 and core 19
description: '',
longitude: '',
latitude: '',
_method: 'PUT',
},
}
},
methods: {
fetchRegion() {
axios
.get('/api/admin/closures/'+this.$route.params.id, {
headers: {
Authorization: 'Bearer ' + localStorage.getItem('access_token')
}
})
.then(response => {
// removed the rest to make it clean.
this.form.cores = response.data.data.cores; // this return my default (stored data) core 17, core 19
this.cores = response.data.cores; // this return all cores from 1 to 20 including 17 and 19 in order if user wants to add more etc.
})
.catch(function (error) {
console.log('error', error);
});
},
}
知道如何选择正确的值吗?
更新
控制台结果this.form.cores
解决方案
您可以.map()
先使用方法从form.cores
数组中仅获取选定的 id,例如:
form.cores.map(x=>x.id) // returns [17, 19]
然后使用.includes()
方法在此处设置默认值,例如:
:selected="form.cores.map(x=>x.id).includes(core.id)"
推荐阅读
- keras - 尝试创建具有回归和损失的神经网络始终是“空的”
- c# - 我可以使用最近的 c# 添加“case when”子句在 switch 中使用 StartsWith 吗?
- azure - Terraform 和 Azure:无法预配存储帐户
- javascript - 在 div 中使用换行符而不是 \n 打印 JS 对象
- excel - 根据 if else 条件向 Excel 工作表添加列
- macos - 升级到 Catalina 后,R Markdown 单词部分不起作用
- android-bluetooth - 蓝牙的 HCI 命令是标准的还是供应商特定的?
- angular - Angular如何将iframe中的所有target =“_blank”更改为iframe中的target =“_self”?
- docker - 错误:无法在 http+docker://localhost 连接到 Docker 守护程序 - 它正在运行吗?
- python-3.x - 如何知道 txt 文件中以相同字符开头的行数?