功能:点选标签,过滤数据。
1.动态变化标签数据:slectedId = ["1","2","3"]
2.模拟数据:
hotelList: [{
"name": "豪华",
"price": "2980",
"hotelRoomDetails": [{
"breakfast": "7折",
"bed": "大床",
"status": [{
"tag": "1",
"name": "含早"
},
{
"tag": "2",
"name": "8折"
},
{
"tag": "3",
"name": "9折"
}
]
}, {
"breakfast": "无早",
"bed": "早餐",
"status": [{
"tag": "1",
"name": "含早"
}
]
}]
},
{
"name": "精品房",
"price": "3680",
"hotelRoomDetails": [{
"breakfast": "早餐",
"bed": "大床",
"status": [
{
"tag": "3",
"name": "9折"
}
]
}, {
"breakfast": "早餐",
"bed": "大床",
"status": [
{
"tag": "2",
"name": "8折"
}
]
}, {
"breakfast": "无早",
"bed": "大床",
"status": [{
"tag": "1",
"name": "含早"
},
{
"tag": "2",
"name": "8折"
},
{
"tag": "3",
"name": "9折"
}
]
}]
},
{
"name": "总统套房",
"price": "166660",
"hotelRoomDetails": [{
"breakfast": "订制早餐",
"bed": "订制大床",
"status": [{
"tag": "1",
"name": "含早"
},
{
"tag": "2",
"name": "8折"
},
{
"tag": "3",
"name": "9折"
}
]
}]
}
]
3.zangeci
朋友的方法:(status
是一个字段)
this.data.hotelList.reduce((res, v) => {
const hotelRoomDetails = v.hotelRoomDetails.filter(o => slectedPreId.includes(o.status))
if(hotelRoomDetails.length) res.push({...v, hotelRoomDetails})
return res;
}, [])