我想知道是否可以在v-select中设置条件,以便它仅显示必要的选项。下面是一个示例。
<div id="app">
<v-app id="inspire">
<v-container fluid grid-list-xl>
<v-layout wrap align-center>
<v-flex xs12 sm6 d-flex>
<v-select
:items="items"
label="Select an option"
item-text ="name"
item-value = "name"
></v-select>
</v-flex>
</v-layout>
</v-container>
</v-app>
</div>
new Vue({
el: '#app',
data: () => ({
items: [
{
name : 'abc', type : 'test'
},
{
name : 'xyz', type : 'dev'
},
{
name : 'lmn', type : 'test'
}
]
})
})
在这里,我只需要显示类型为“测试”的选项即可。
答案 0 :(得分:1)
为此,您可以使用computed properties过滤列表并进行呈现。
<div id="app">
<v-app id="inspire">
<v-container fluid grid-list-xl>
<v-layout wrap align-center>
<v-flex xs12 sm6 d-flex>
<v-select
:items="filteredData"
label="Select an option"
item-text ="name"
item-value = "name"
></v-select>
</v-flex>
</v-layout>
</v-container>
</v-app>
</div>
new Vue({
el: '#app',
data: () => ({
items: [
{
name : 'abc', type : 'test'
},
{
name : 'xyz', type : 'dev'
},
{
name : 'lmn', type : 'test'
}
]
}),
computed: {
filteredData(){
return this.items.filter(item => item.type === 'test')
}
}
})