下拉菜单
点击在线、离线、故障进行筛选
首先,获取选中的值,我这里用的是e._relatedInfo.anchorTargetText,获取结果中会有空格,用substring()方法提取。接着将当前展示出来的数据arr存档arrResult1。
然后,用存档后的arrResult1分别筛选在线、离线、故障的数据为result1、result2、result3(这里先前不存档,发现arr会变,不知道是不是我哪没弄好)。
最后,对选中的值进行判断,分类赋值给展示列表arr
可是问题来了,if判断不生效,在if里面试着打印111都不出效果
现在是筛选2,是因为筛选1传过值了所以现在不行了吗?
onMenua2(e){
this.setData({
downResult2:e._relatedInfo.anchorTargetText.substring(9,12),// 选中的值
arrResult1:this.data.arr //将当前展示列表存档
})
var result1 = this.data.arrResult1.filter(function(item) {
return item.boo === 'online'; //筛选在线的数据
});
var result2 = this.data.arrResult1.filter(function(item) {
return item.boo === 'offline'; //筛选离线的数据
});
var result3 = this.data.arrResult1.filter(function(item) {
return item.boo === 'fault'; //筛选故障的数据
});
if (this.data.downResult2 === '在线') {
// console.log(111);
this.setData({
arr:result1 //如果选中的值是在线,将筛选的数据传给展示列表
})
}else if (this.data.downResult2 === '离线') {
this.setData({
arr:result2
})
}else if (this.data.downResult2 === '故障') {
this.setData({
arr:result3
})
}else if (this.data.downResult2 === '全部') {
this.setData({
arr:this.data.arrResult1
})
}
}
选中的值获取的不对
谢谢大家了,问题已解决,这里是substring(9,11),竟然犯了这么个小毛病,亏我之前还长按输出打印的“在线”发现没空格,就以为不是这个问题
打印一下this.data.downResult2这个值就知道了
打印一下看看就知道了,大概率对象被操作了
你打印一下this.data.downResult2看看是什么,还有判断用==