在实现上图的开发过程中,总结了一套代码整洁的tabs-list的开发方式
分析逻辑:
①tabs可以当做一个json(好处在于通过wx:for可以动态生成,choosestatus可以用来对应下面的数据)
[{ name:"待兑换",
chooseStatus:"effectCoupon"
},{
name:"已兑换",
chooseStatus:"overdueCoupon"
},{
name:"已过期",
chooseStatus:"usedCoupon"
}],
②由于种种原因,接口返回的3个list是分开的。这就是choosestatus的作用,和返回的3个list字段一一对应,通过变量,动态改变选中样式和存储list的数组
get_yhq_list: function (e) {
var _this = this;
var clickId = e.currentTarget.dataset.index; //把点击的索引传递过来,改变显示隐藏的数组的布尔值来改变样式
var clickStatus = e.currentTarget.dataset.choose; //把点击的参数传递过来
_this.data.is_tab_on = [false,false,false];
_this.data.is_tab_on[clickId] = true;
if(_this.data[clickStatus].length > 0){
_this.setData({
is_no_data:false,
is_tab_on:_this.data.is_tab_on,
CardList:_this.data[clickStatus]
})
}else{
_this.setData({
CardList:[],
is_tab_on:_this.data.is_tab_on,
is_no_data:true,
})
}
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。