[React]过滤数据
state数据
this.state = {
//搜索内容字段
searchItem: {
orderId: '',
phoneNum: '',
goodsname: '',
},
// 订单列表内容
tabList: [
{ name: '全部' },
{ name: '待付款' },
{ name: '待发货' },
{ name: '待收货' },
{ name: '已完成' },
{ name: '已取消' },
{ name: '待维权' },
{ name: '维权完成' }
],
listTitle: [
{ name: '商品' },
{ name: '单价' },
{ name: '数量' },
{ name: '总价' },
{ name: '收货人' },
{ name: '订单状态' },
{ name: '订单操作' },
],
}
过滤方法
filters(data: any) { this.filterData(data); return data };
//判断是对象还是数组 filterData(data: any) { let dataType = typeof (data); if (dataType === 'object') { // 验证是不是数组 if (data instanceof Array) { console.log('array') this.filterArray(data); } // 否则就是对象 else { console.log('object') this.filterObject(data); } } }
// 已经是数组 filterArray(data: any) { // 数组遍历 for (let index in data) { let typeItem = typeof (index); if (typeItem === 'string') { data[index] = '' } if (typeItem === 'object') { this.filterData(index); } } }
//已知是对象 filterObject(data: any) { //对象遍历 for (let index in data) { // 判断对象里的值是什么 let typeItem = typeof (index); if (typeItem === 'string') { data[index] = '' } if (typeItem === 'object') { this.filterData(index); } } }
调用方法执行
//清除方法 setClear() { let a:any = this.state.tabList // 传值data const data = this.filters(a) this.setState({ tabList: data }) console.log(this.state.tabList, 2) };

浙公网安备 33010602011771号