微信小程序实现搜索功能

首先呢在wxml中创建input标签

  <input placeholder="请输入搜索关键词" 
    value="{{val}}"
    bindinput="search"
  ></input>

value绑定文本框的值,我这里使用的是bindInput事件,也就是只要是输入就会触发这个事件,这里呢不推荐用这种方法去写,因为你每次输入一个字母都会去请求一次后台,这样会给后台造成压力,使用bindconfirm这个方法,在点击回车时,也就是手机电脑上的回车会触发这个事件

wx.js

 search(e)
  {
    let name=e.detail.value;
    //通过e.detail.value接收输入的内容
    //console.log(e.detail.value)
    this.setData({
    //每次进去把之前的数据清空
      list:[],
      val:name //把输入的内容放进data里面
    })
    if(this.data.val=='')
    {
      this.getdata() 
      //当输入框等于空时,重新调用封装的请求数据的方法
    }
    wx.request({
      url: 'https://***********/shop/goods/list',
      success:((res)=>{
        //console.log(res.data.data)
        res.data.data.filter((item)=>{
          if(item.name.indexOf(this.data.val)>=0)
          //判断是否包含
          {
            console.log(item)
            this.data.list.push(item)
          }
        })
        //从新赋值
        this.setData({
          list:this.data.list,
        })
      })
    })
  },

这里需要注意的是当判断val是否为空时,不能直接 return false 而是重新调用之前请求所有数据的接口,如果return false 则文本框内容会变成false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值