搜索框:其中 bindChange 为输入框发生改变事件。微信提供的 bindchange 在支持方面还有小问题,目前是失去焦点才能触发到此事件的发生,待后续完善吧,先实现功能再说。
bindInputChange:function(e){ Text = e.detail.value.toUpperCase();//取到输入的内容if(Text==""){ //如果输入为空一些东西需要显示否则不显示 show_letter ="block"; }else{ show_letter= "none"; } this.setData({ show_letter:show_letter, showSheet:true }); var res = nameData; 获取到传递的数据 if(data_type=="name"){ }else if(data_type=="time"){ res= timeData; }; =res[k].cards; for(var i =0;i<data.length;i++){ //循环取到需要搜索的关键字对比 If(data[i].userName!=null&& data[i].userName.indexOf(Text)!=-1){ data[i]["display"]= "block"; //存在就是赋值显示 }else{ data[i]["display"]= "none"; // 不存在赋值不显示 } } } }菜单栏:做到菜单栏,使用微信提供的下拉菜单组件 action-sheet,它被触发的条件在这里。
一切以绑定事件为起点:
bindButtonTapSheet:){ //调取底部下拉菜单栏 }还是得先布好局才能被调动。
Js 配置:
Data 初始化数据:
这里得取非,直接设置 false 调不出来: 调用事件。
调出来还得去掉它啊:如下相同即可
取消直接上事件即可。(分为菜单栏外部与底部)
//好了,就是这么简单。实现效果简单,体验效果确实非常不错。
还需要个 loading 效果(暂时没做动画,后期再考虑。)
Loading 布局
首页的最外层 view