在項目中輪循數組v-for,然后根據關鍵詞匹配顯示篩選內容,用的v-if的二元表達式,在使用v-else后出現的bug,出現了多個v-else的內容,代碼如下:<input v-model='filter' type='text' > //0:全部 1:類型1 2:類型2//如果有類型 需要判斷item中的另一個關鍵字段 type 0:顯示 1:不顯示<div v-for="(item,index) in list" :key="index" v-if="filter==0?true:filter==item.type?item.type==0?true:false:false">{{item.name}}</div>
<div v-else>沒有數據</div>
<script>
export default {
data() { return {
filter:0,
list:[
{name:1,type=1},
{name:2,type=1},
{name:3,type=2},
{name:4,type=2},
{name:5,type=3}
]
}
}
}
</script>望高手解答下,是否有解決方案,或者優化的地方,感謝
2 回答
慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
建議使用computed計算出篩選后的數據,然后再判斷循環
computed類似這樣
computed:{
filtered_list(){ return this.list && this.list.filter(item=>this.filter===0 || item.type===this.filter);
}
}添加回答
舉報
0/150
提交
取消
