微信小程序页面内搜索查询(无后台)

先上图,这是我要实现的效果!
在这里插入图片描述
当我们没有页面内没有分页又需要搜索时,我们可以直接在前端写搜索功能,这样也极大的减轻了后台查询压力。

这里实现原理用的是indexOf(string):查询字符串是否包含某个字符
知道这个大家应该也知道怎么实现了,非常简单,下面上代码

当我们进入页面的时候肯定要进行后台查询,这里我直接模拟后台返回的json数据,先在data里定义两条一样的json

data{
	list: [{'name':'海珠门店','id':'1'},{'name':'天河门店','id':'2'}],	//这是页面需要的json
	list2: [{'name':'海珠门店','id':'1'},{'name':'天河门店','id':'2'}]	//这是查询需要的json
}

搜索方法

query(e){
    var list = this.data.list2;		//先把第二条json存起来
    var list2 = [];		//定义一个数组
    //循环去取数据
    for(var i=0;i<list.length;i++){
      var string = list[i].name;
      //查询json里的name是否包含搜索的关键词,如果有就把他装进list2数组
      if(string.indexOf(e.detail.value) >= 0){
        list2.push(list[i]);
      }
    }
    //到这里list2就已经是你查出的数据
    //如果输入的关键词为空就加载list数据,不是空就加载list2数据
    if(e.detail.value == ""){
      //加载全部
      this.setData({
        list: list
      })
    } else {
      this.setData({
        list: list2
      })
    }
  }
}

下面是wxml

<input type="text" placeholder="搜索门店" bindinput='query'></input>
<scroll-view scroll-y="{{true}}">
  <view wx:for="{{list}}" wx:key="{{key}}">
    <view>
      <view>{{item.name}}</view>
    </view>
    <view>
      <view>广东省广州市黄埔区永顺大道万科山景城一期东区</view>
    </view>
  </view>
</scroll-view>

结束

Tip:只有无分页的时候才适用
本人也只是一个菜鸟,不喜勿碰,欢迎大神来指点错误!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值