我正在尝试使用 vs-select 显示选择下拉菜单,这些选项来自 API。这是我的场景,我已将所有组件动态化,我的首页有 3 张卡片,如果我单击任何卡片,则会显示相应的内容。
这是我从/my-project
端点得到的响应:
[
{
"uid": 1,
"choice": "project_title1|project_title2|project_title3",
"age": "35",
"country": "india"
},
{
"uid": 2,
"choice": "project_title2",
"age": "25",
"country": "australia"
}
...
]
这是我的代码:
<span v-if="out.choice">
<template v-for="(val, e) in Myfilter(out.choice)">
<vs-select v-model="check" :key="e" :options="[{label: val}]" />
</template>
</span>
<div v-if="out.choice === 'project_title1'">
--show contents1--
</div>
<div v-if="out.choice === 'project_title2'">
--show contents2--
</div>
check: null,
out: null
// ...
methods: {
Myfilter (val){
return val.replaceAll('_', ' ').split('|')
},
SelectVue (id) {
this.$http.get(`/my-project/${id}`)
.then((res) => {this.out= res.data})
}
},
mounted (){
this.SelectVue (this.$route.params.uid)
}
如果用户点击第二张卡片,他将获得uid=2
ie 在 vue-select 中的详细信息,他将获得选项为project title2
. 如果用户点击第一张卡片,他将获得 uid=1 的详细信息,然后显示三个 vue-select,如图所示:
相反,我想要一个 vue-select 和三个不同的选项:
这是我的问题:我如何为来自 API 的数据提供一个单一的 vue-select,然后为它显示不同的选项。