Я хочу выполнить поиск в этом массиве json на основе
track_order
Я получаю этот результат с сервера и устанавливаю в переменной orders:
"records": [
{
"phone": "09********8",
"fullName": "******",
"records": [
{
"status": "processing",
"details": "***",
"cost": "1500000",
"date": "۹۹/۰۳/۰۷ ۱۰:۱۴",
"track_order": ""
},
{
"status": "send",
"details": "***",
"cost": "2000000",
"date": "۹۹/۰۳/۰۷ ۱۰:۳۹",
"track_order": "******"
},
{
"status": "cancel",
"details": "******",
"cost": "2000000000000",
"date": "۹۹/۰۳/۰۷ ۱۰:۱۴",
"track_order": ""
},
{
"status": "proccing",
"details": "******",
"cost": "2000000000000",
"date": "۹۹/۰۳/۰۷ ۱۰:۱۴",
"track_order": ""
}
]
},
{
"phone": "093*******8",
"fullName": "*******",
"records": [
{
"status": "send",
"details": "********",
"cost": "2000000000000",
"date": "۹۹/۰۳/۰۷ ۱۰:۴۰",
"track_order": "*************"
}
]
},
{
"phone": "09*********1",
"fullName": "*********",
"records": []
}
]
это мой vue. js код для поиска Я хочу отфильтровать orders
в getOrders
и вернуть его:
data(){
return {
orders:[],
search:""
}
}
computed:{
getOrders(){
if(this.search){
for(let i=0;i<this.orders.length;i++){
return this.orders[i].records.filter(record=>{
return this.search.toLowerCase().split(' ').every(v=> record.track_order.toLowerCase().includes(v));
})
}
}else{
return this.orders;
}
}
}
и я установил
getOrders
в таблице примерно так:
<tbody v-for="(item,index) in getOrders" :key="index">
<tr v-for="(record,index1) in item.records" :key="index1">
<td >{{item.fullName}}</td>
<td >{{record.details}}</td>
<td>{{record.cost}}</td>
<td >{{record.date}}</td>
<td >{{record.status}}</td>
<td >{{record.track_order}}</td>
</tbody>
Но это не работает. И при вводе слова для поиска таблица не меняется Что не так? Вы можете мне помочь?