微信小程序 和 laravel8 实现搜索后分页 加载
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- activity:{},
- page:1,
- last_page : 0,
- keyword:''
- },
- //加载
- scroll(e){
- let that = this;
- let page = that.data.page+1;
- let keyword = that.data.keyword
- that.setData({
- page:page
- })
- let last_page = that.data.last_page
- if(page > last_page){
- wx.showToast({
- title: '到底了',
- })
- return ;
- }
- wx.showLoading({
- title: '加载中',
- })
- wx.request({
- url: 'http://www.week2.skill.com/api/activity/index',
- data:{page,keyword},
- header: {
- 'content-type': 'application/json' // 默认值
- },
- success (res) {
- console.log(res.data)
- let activity = res.data.data.data
- that.setData({
- activity:that.data.activity.concat(activity),
- })
- wx.hideLoading()
- }
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- var that = this;
- wx.request({
- url: 'http://www.week2.skill.com/api/activity/index',
- header: {
- 'content-type': 'application/json' // 默认值
- },
- success (res) {
- console.log(res.data)
- let activity = res.data.data.data
- that.setData({
- activity:activity,
- last_page:res.data.data.last_page,
- page:res.data.data.current_page
- })
- }
- })
- },
- //搜索
- dopost:function(e){
- console.log(e);
- let formData = e.detail.value;
- wx.request({
- url: 'http://www.week2.skill.com/api/activity/index',
- data:formData,
- method:"GET",
- success:res=>{
- console.log(res);
- if(res.data.status==200){
- this.setData({
- activity:res.data.data.data,
- keyword:formData.keyword,
- last_page:res.data.data.last_page,
- page:res.data.data.current_page
- })
- }
- },
- fail(e){
- wx.showToast({
- title: '请求失败',
- icon:"error"
- })
- }
- })
- },
- })
控制器:
- /**
- * 查询数据 分页展示
- * @param Request $request
- * @return array
- */
- public function index(Request $request)
- {
- $keyword = $request->input('keyword');
- $data = Activity::when($keyword,function ($query,$keyword){
- return $query->where('title','like','%'.$keyword.'%');
- })->select('title','img','surplus_number')->paginate(5);
- return ['status'=>200,'msg'=>'success','data'=>$data];
- }
wxml:
- <view>
- <view>
- <view>
- <form bindsubmit="dopost">
- <view class="weui-search-bar">
- <view class="weui-search-bar__form">
- <!-- 搜索框 -->
- <view class="weui-search-bar__box">
- <icon class="weui-icon-search_in-box" type="search" size="14"></icon>
- <input type="text" name="keyword" value="{{keyword}}" class="weui-search-bar__input" placeholder="请输入搜索内容" />
- </view>
- </view>
- <!-- 搜索按钮,调用搜索查询方法 -->
- <button size="mini" class="weui-search-bar__cancel-btn" form-type="submit">搜索</button>
- </view>
- </form>
- </view>
- </view>
- <view class="page-section-spacing">
- <scroll-view scroll-y="true" class="page-scroll-style" bindscrolltolower="scroll">
- <block wx:for="{{activity}}" wx:key="activity">
- <view class="scroll-view-content">
- <image src="{{item.img}}" class="scroll-view-image"></image>
- <view class="scroll-view-text">
- {{item.title}}
- </view>
- <view class="scroll-view-name">
- {{item.surplus_number}}
- </view>
- </view>
- </block>
- </scroll-view>
- </view>
- </view>
wxss:
- /**index.wxss**/
- .weui-search-bar {
- position: relative;
- padding: 8px 10px;
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- box-sizing: border-box;
- background-color: #EFEFF4;
- border-top: 1rpx solid #D7D6DC;
- border-bottom: 1rpx solid #D7D6DC;
- }
- .weui-icon-search_in-box {
- position: absolute;
- left: 10px;
- top: 7px;
- }
- .weui-search-bar__form {
- position: relative;
- -webkit-box-flex: 1;
- -webkit-flex: auto;
- flex: auto;
- border-radius: 5px;
- background: #FFFFFF;
- border: 1rpx solid #E6E6EA;
- }
- .weui-search-bar__box {
- position: relative;
- padding-left: 30px;
- padding-right: 30px;
- width: 100%;
- box-sizing: border-box;
- z-index: 1;
- }
- .weui-search-bar__input {
- height: 28px;
- line-height: 28px;
- font-size: 14px;
- }
- .weui-search-bar__cancel-btn {
- margin-left: 10px;
- line-height: 28px;
- color: #09BB07;
- white-space: nowrap;
- }
- .swp{
- height: 500rpx;
- }
- .page-section-spacing{
- margin-top: 60rpx;
- }
- .page-scroll-style{
- height: 1000rpx;
- background: aliceblue;
- }
- .scroll-view-content{
- height: 230rpx;
- margin: auto 10rpx;
- background: white;
- border: 1px solid gray;
- }
- .scroll-view-image{
- width: 200rpx;
- height: 200rpx;
- margin-top: 15rpx;
- margin-left: 20rpx;
- float: left;
- }
- .scroll-view-text{
- width: 400rpx;
- float: left;
- font-weight: 800;
- margin-top: 15rpx;
- margin-left: 20rpx;
- }
- .scroll-view-name{
- float: left;
- font-size: 30rpx;
- color: gray;
- margin-top: 20rpx;
- margin-left: 20rpx;
- }
- .scroll-view_H{
- white-space: nowrap;
- }
- .scroll-view-item{
- height: 300rpx;
- }
- .scroll-view-item_H{
- display: inline-block;
- width: 100%;
- height: 300rpx;
- }
微信小程序 和 laravel8 实现搜索后分页 加载的更多相关文章
- 微信小程序实现上拉和下拉加载更多
在上一篇文章中,我们知道了使用 scroll-view 可以实现上拉加载更多,但是由于 scroll-view 的限制,它无法实现下拉加载更多,这篇文章我们使用 view 组件来实现 上拉和下拉加载更 ...
- 微信小程序开发--模板(template)使用,数据加载,点击交互
微信小程序视图层提供了 模板(template),可以在模板中定义代码片段,然后在不同的地方调用.结果在数据渲染那懵逼了.按照官网上对模板的说明和对数据的加载. 1.定义模板 使用name属性,作为模 ...
- 微信小程序之下拉刷新,上拉加载更多
近日开发微信小程序,发现上拉加载更多没有友好的API,而下拉刷新很nice,所以本人按照API,很简单的写了一个示例,希望对大家有帮助,本人用的是iview-webapp 小程序UI框架. 1. 首 ...
- 【微信小程序】转载:微信小程序实战篇-下拉刷新与加载更多
下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 当然,你可以直接在全局变量app.json的window里面配置上面这个属性,这样整个项目都允许下 ...
- 微信小程序 在使用wx.request时显示加载中
微信小程序中,向后台请求数据是,通常想给用户提示正在加载中,如下图: 我们可以用wx.showLoading(OBJECT),当请求服务器的地方多了,怎么才能不每次都要去调用函数,我们只要对wx.re ...
- 微信小程序实战篇-下拉刷新与加载更多
下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 2. 监听scroll-view,自定义下拉刷新,还记得scroll-view里面有一个binds ...
- 微信小程序开发——设置默认图片、错误加载图片
小程序不支持h5中的onerrorimg,只开放了binderror属性,当错误发生时,会发布到 AppService,事件对象event.detail = {errMsg: 'something w ...
- 微信小程序采坑之上拉触底加载更多和下拉刷新
小程序中加载更多数据一般都是触底刷新 有自带的函数: onReachBottom: function (){} 但是在使用时触发完全没有反应,后来尝试给外层加了一个高度,解决问题 仔细想想也是,没有设 ...
- 微信小程序(五) 利用模板动态加载数据
利用模板动态加载数据,其实是对上一节静态数据替换成动态数据:
随机推荐
- Java流程控制01:用户交互Scanner
Scanner对象 之前我们学习的基本语法并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入.java.Scanner 是java5 的新特征,我们可以通过Sca ...
- Vue2和Vue3技术整理3 - 高级篇
3.高级篇 前言 基础篇链接:https://www.cnblogs.com/xiegongzi/p/15782921.html 组件化开发篇链接:https://www.cnblogs.com/xi ...
- CF1399F Yet Another Segments Subset
首先注意一下题面要求,使得选出的线段两两要么包含要么不相交,也就是说一条线段可能会出现不相交的几条线段,而这些线段上面也可能继续这样包含线段.然后我们可以发现我们要做的实际上是在这条线段上选取几条线段 ...
- 新手应该如何学习 PHP 语言?
其实php开发,不只是一个简单的php开发,而是整个一个行业,一般叫web开发,或者php后端开发,所以从html,css,js,jq,php,sql基本这些都要有了解.当然你有html,css基础, ...
- Gitee 自已提交的代码提交人头像为他人、码云上独自开发的项目显示为 2 个开发者
简介 自己写的代码提交到码云(Gitee)上却变成了两个人,一个被正确的代码提交统计了,另一个却没有,并且确信自己输入的Gitee账号是自己绑定的邮箱,具体如下: 解决办法 查看自己的用户名 git ...
- Android编译implement、api 和compile区别【转】
感谢大佬:https://blog.csdn.net/fengyeNom1/article/details/81903186 前言 2017 年google 后,Android studio 版本更新 ...
- classpath环境变量(JDK5.0之后不建议配置)
classpath的作用: 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,一旦配置了classpath路径信息的时候,jvm与java编译器都会根据classpath指定的路径 ...
- kali切换桌面环境
感谢大佬:https://blog.csdn.net/tao546377318/article/details/52353018 kali 是基于Debian的发行版,兼容性和软件支持都很好,默认使用 ...
- HTML 代码复用
前言 通常我们所做的一些页面,我们可以从设计图里面看出有一些地方是相同的.例如:头部,底部,侧边栏等等.如果是制作静态页面的同学,对于这些重复的部分只能够通过复制粘贴到新的页面来,如果页面的数量上去了 ...
- 安装Varnish 及遇到的坑
转自:http://ixdba.blog.51cto.com/2895551/682555 一.安装Varnish Varnish的安装非常简单,下面逐步介绍: 1.安装前的准备 Varni ...