vue.js - 如何在 V-select 中添加条件?
问题描述
大家好,我想像 min 一样过滤我的财产。卧室和最大卧室
这里我有两个列表框,一个是最小卧室列表框,另一个是最大卧室列表框
如果这次我从最小卧室列表中选择 3 个,从最大卧室列表中选择 5 个,我只想过滤 3 - 5 个卧室范围的属性
export default {
data() {
return {
blogs: [],
minbed: "",
maxbed: "",
};
},
selectOptionsBedroom() {
return _.uniqBy(this.blogs.map(g => g.Bedrooms));
}
};
<v-select
:items="blogs"
v-model="minbed"
:options=" selectOptionsBedroom"
label="Bedrooms"
item-value="Bedrooms"
placeholder="Min.Bed"
></v-select>
如何在这里创造条件?
解决方案
filter
与计算属性一起使用:
new Vue({
el: '#app',
data() {
return {
blogs: [],
minbed: 0,
maxbed: 0,
}
},
computed: {
min: {
get() {
return this.minbed
},
set(value) {
this.minbed = value
}
},
max: {
get() {
return this.minbed >= this.maxbed ? parseInt(this.minbed, 10) + 1 : this.maxbed
},
set(value) {
this.maxbed = this.minbed >= value ? parseInt(value, 10) + 1 : value
}
},
selectOptionsBedroom() {
return !!this.blogs.length ? this.blogs.filter(g => {
return (g.Bedrooms >= this.min) && (g.Bedrooms <= this.max)
}) : []
}
},
mounted() {
this.blogs = Array.from(Array(20), (x, i) => {
return {
Name: `Blog ${i + 1}`,
Bedrooms: Math.ceil(Math.random() * 5)
}
})
this.minbed = 0
this.maxbed = this.blogs.reduce((max, blog) => {
return (blog.Bedrooms > max) ? blog.Bedrooms : max
}, 0)
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.21/vue.js"></script>
<div id="app">
<label>Min</label>
<input type="number" step="1" min="0" v-model="min">
<label>Max</label>
<input type="number" step="1" min="1" v-model="max">
<ul v-if="selectOptionsBedroom.length">
<li v-for="item in selectOptionsBedroom" :key="item.Name">{{ item.Name }} - {{ item.Bedrooms }} {{ item.Bedrooms > 1 ? 'rooms' : 'room' }}</li>
</ul>
<p v-else-if="!!minbed && !!maxbed">No Results</p>
<p v-else>Search for blogs</p>
</div>
推荐阅读
- vim - datamash 工具:转置行-> 列和反向 - 使用 vim 的快捷方式
- algorithm - 嵌套循环的大 O 时间复杂度
- python - 如何压缩重复的 Python 代码?
- amazon-web-services - 为什么无法以“www”作为域名前缀解析我的网站?
- c - C程序删除字符串中所有出现的WORD
- java - 在 docker build 阶段使用本地 m2 存储库
- asp.net - 下拉列表项背景颜色更改
- python - 用户输入 Turtle 和/或 Pygame
- java - 为什么将数据从一个 Activity 传输到另一个在 firebasefirestore 的查询中不起作用
- python - Pandas 中的行系列与列系列