微信小程序之搜索分页功能的实现代码

 更新时间:2020年06月22日 16:54:45   作者:冷冷zz  
这篇文章主要介绍了微信小程序之搜索分页功能的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

直接上代码:
wxml:

<wxs src="../wxs/changeimg.wxs" module="changeimg" />
<view class="container">
  <view class="search_input">
     <image class="back" src="" mode="widthFix"></image>
     <input type="text" class="weui-input" maxlength="10" placeholder="搜索" value="{{value}}" bindinput="changeModel" bindconfirm="search" data-key="value"/>
 <image class="scan_code" src="" mode="widthFix" ></image>
</view> 
<!--搜索菜品做法列表 -->
<view class="modus_operandi">
<view class="search_no" wx:if="{{searchLen==0&&clickEnter==1}}" >
 <text>很抱歉,没有找到您要搜索的资料/(ㄒoㄒ)/~~</text>
</view>
 <view class="modus_operandi_total"
 wx:for="{{searchData}}"
 wx:key="id"
 bindtap="jumpVegetables"
 data-cid="{{item.classid}}"
 >
  <image class="modus_operandi_pic" mode="widthFix" src="{{changeimg.getimageurl(item.defaultpic)}}"></image>
  <view class="modus_operandi_title">{{item.title}}</view>
 </view>
</view>
</view>

wxss:

page{
  background: #fff;
}
.back{
  width: 20rpx;
  height: 20rpx;
  margin-top: 39rpx;
  margin-right: 20rpx;
  margin-left: 20rpx;
}
.search_input {
  height: 110rpx;
  padding: 10rpx;
  background: url("https://mini.qianjiwang.cn/img/top.png")no-repeat center;
  background-size: 100% 700rpx;
  display: flex;
  position: relative;
 }
 .search_input input {
 height: 70rpx;
 background-color: #fff;
 border-radius: 50rpx;
 font-size: 32rpx;
 color: #000;
 width: 80%;
 margin-left: 0rpx;
 background: #a7d9fe;
 margin-top: 20rpx;
 padding-left: 30rpx;
 }
 .scan_code{
   flex: 1;
  width: 40rpx;
  height: 40rpx;
  margin-left: 30rpx;
  margin-top: 27rpx;
  
}
.modus_operandi{
  padding: 20rpx;
  display: flex;
  flex-wrap: wrap; 
  margin-top: 50rpx;
 }
 .modus_operandi_total{
  width: 47%;
  padding: 10rpx;
 }
 .modus_operandi_pic{
  height:215rpx!important;
  border-radius: 10rpx;
 }
 .modus_operandi_title{
  text-align: center;
 }

js:

// pages/pro/index.js
import menuData from "../../bindData/rightMenuCtrl.js"
import proData from "../../bindData/searchFoodData.js"
Page({
 /**
  * 页面的初始数据
  */
 data: {
  pageName: "",
  ShowLonding: { londing: false, message: "", contNone: false },
  ...menuData.data,
  ...proData.pageData
 },
 ...menuData.Methods,
 ...proData.methods,

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {

  
 },

 /**
  * 生命周期函数--监听页面初次渲染完成
  */
 onReady: function () {

 },

 /**
  * 生命周期函数--监听页面显示
  */
 onShow: function () {

 },

 /**
  * 生命周期函数--监听页面隐藏
  */
 onHide: function () {

 },

 /**
  * 生命周期函数--监听页面卸载
  */
 onUnload: function () {

 },

 /**
  * 页面相关事件处理函数--监听用户下拉动作
  */
 onPullDownRefresh: function () {
 /*  wx.showLoading({
   title: '正在加载...',
  });
  setTimeout(()=>{
   wx.stopPullDownRefresh,
   wx.hideLoading();
  },2000) */
 },

 /**
  * 页面上拉触底事件的处理函数
  */
 onReachBottom: function () {
  /* wx.showToast({
   title: '没有更多数据',
  }) */
  let that =this
  that.getHttpProductMore();
 },

 /**
  * 用户点击右上角分享
  */
 onShareAppMessage: function () {

 }
})

searchFoodData.js:

var httpClient = require('../utils/HttpClient.js');
var tools = require('../utils/util.js');
import url from "../utils/apiUrl.js"
var pageData = {
  inputValue:{},
  searchData:{},
  searchLen:'',
  clickEnter:'0',
};
var ispage = true;
var indexpage = 1;//页数默认为1
var methods = {
   //分页
 getHttpProductMore: function () {
  var self = this;
  if (ispage) {
   ispage = false;//没有下一页ispage 赋值为false
   indexpage++; //页数加1
   let searchData= this.data.inputValue.value//获取输入框的值
   //console.log('页',indexpage);
   wx.showLoading({
    title: '正在加载...',
   });
   httpClient.get(url.getSearchVegetables+"?cid="+"&Key="+searchData+"&pageId="+indexpage).then(function (o) {
     //console.log("更多的数据",o);
    if (o.length > 0) {//如果长度大于0,使用concat连接起来,ispage赋值为true
     var tempData = self.data.searchData;
     tempData = tempData.concat(o)
     self.setData({ searchData: tempData })
     ispage = true;
     wx.hideLoading()
    }
    else {
     wx.showToast({
      title: '没有更多了',
     });
     indexpage = 1;
    }
   });
  }
 },
  search(e){
    ispage = true
    wx.showLoading({
      title: '正在加载...',
     });
     let searchData= this.data.inputValue.value
     console.log('搜索的数据',searchData);
     let that=this
     let clickEnter=1
     httpClient.get(url.getSearchVegetables+"?cid="+"&Key="+searchData+"&pageId=1").then(function(r){
      wx.hideLoading();
      //console.log("搜索数据",r);
      let searchData=r
      let searchLen=r.length
      that.setData({
       searchData,
       searchLen,
       clickEnter
      })
     })
  } ,
  changeModel(e){
    let data={};
    data[e.currentTarget.dataset.key] = e.detail.value
    this.setData({
      inputValue:data
    })
    //console.log(data);
    // console.log('data',this.data.inputValue);
  } ,
  jumpVegetables(e){
   const {cid}=e.currentTarget.dataset
   wx.navigateTo({
    url: '/pages/vegetable-index/vegetable-index?cid='+cid,
    success: (result)=>{
     
    },
   });
  }
}

module.exports = {
 pageData: pageData,
 methods: methods

}

总结

到此这篇关于微信小程序之搜索分页功能的实现代码的文章就介绍到这了,更多相关小程序搜索分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot2零基础到精通之异常处理与web原生组件注入

    SpringBoot2零基础到精通之异常处理与web原生组件注入

    SpringBoot是Spring全家桶的成员之一,基于约定优于配置的思想(即有约定默认值,在不配置的情况下会使用默认值,在配置文件下配置的话会使用配置的值)。SpringBoot是一种整合Spring技术栈的方式(或者说是框架),同时也是简化Spring的一种快速开发的脚手架
    2022-03-03
  • JPA如何将查询结果转换为DTO对象

    JPA如何将查询结果转换为DTO对象

    这篇文章主要介绍了JPA如何将查询结果转换为DTO对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Swagger3.0 整合spring boot2.7x避免swagger2.0与boot2.7冲突问题

    Swagger3.0 整合spring boot2.7x避免swagger2.0与boot2.7冲突

    这篇文章主要介绍了Swagger3.0 整合spring boot2.7x避免swagger2.0与boot2.7冲突问题,通过注释掉2.0引入的俩包,直接引入3.0,文中结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-10-10
  • Java中Collections.sort()排序方法举例详解

    Java中Collections.sort()排序方法举例详解

    很多时候都需要对一些数据进行排序的操作,这篇文章主要给大家介绍了关于Java中Collections.sort()方法举例详解的相关资料,使用Collections.sort()可以使用其sort()方法来对List、Set等集合进行排序,需要的朋友可以参考下
    2024-02-02
  • Java操作另一个Java程序使其重启的简单实现

    Java操作另一个Java程序使其重启的简单实现

    下面小编就为大家带来一篇Java操作另一个Java程序使其重启的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Java中JSON处理工具类使用详解

    Java中JSON处理工具类使用详解

    这篇文章主要为大家详细介绍了Java中JSON处理工具类的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Java+Redis撤销重做功能实现

    Java+Redis撤销重做功能实现

    这篇文章主要介绍了Java+Redis实现撤销重做功能,需要考虑撤销的最大步数,撤销之后穿插着其他操作则不能再重做,所以引入分布式锁Redisson进行加锁处理,防止对图表的操作有并发请求导致处理撤销逻辑混乱,感兴趣的朋友跟随小编一起看看吧
    2023-05-05
  • java实现简单汽车租赁系统

    java实现简单汽车租赁系统

    这篇文章主要为大家详细介绍了java实现简单汽车租赁系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • win10安装rabbitMQ的详细步骤

    win10安装rabbitMQ的详细步骤

    RabbitMQ是一个开源的消息中间件(Message Broker),它基于AMQP协议设计,用于在分布式系统中实现消息的高效、可靠传输,本文给打击介绍了win10安装rabbitMQ的详细步骤,文中通过图文讲解的非常详细,需要的朋友可以参考下
    2024-06-06
  • java中的内部类内部接口用法说明

    java中的内部类内部接口用法说明

    这篇文章主要介绍了java中的内部类内部接口用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09

最新评论