【发布时间】:2020-09-15 14:54:49
【问题描述】:
我想在这个基于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 搜索代码,我想在 getOrders 中过滤 orders 并返回它:
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;
}
}
}
我设置了
获取订单
在这样的表中:
<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>
但它不起作用。 并且通过输入单词进行搜索,表格不会改变 怎么了? 你能帮帮我吗?
【问题讨论】: