下面是一个示例,在个人使用的过程中按自己需求进行更改

创建一个DataController控制器

php artisan make:controller DataController

创建一个Data的模型,并且在datas表里面创建两个字段,以name和description为例

php artisan make:model Data

下面是Datacontroller控制器里面的接口示例代码

<?php

namespace App\Http\Controllers;

use App\Models\Data;
use Illuminate\Http\Request; class DataController extends Controller
{
//
public function getData(Request $request)
{
$page = $request->query('page', 1);
$perPage = $request->query('perPage', 10); $data = Data::paginate($perPage, ['*'], 'page', $page); return response()->json($data);
}
}

下面是Data模型里面的代码

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Data extends Model
{
public $table='datas';
protected $fillable = [
'name',
'description',
// 其他字段...
];
}

给该接口一个路由

//微信小程序上拉加载
Route::get('data',[\App\Http\Controllers\DataController::class,'getData']);

接下来是微信小程序的代码,我给它加了一些样式,可以自行 更改

微信小程序的wxml代码

<view class="data-list">
<block wx:for="{{ dataList }}" wx:key="index">
<view class="data-item">
<view class="data-item-name">{{ item.name }}</view>
<view class="data-item-description">{{ item.description }}</view>
</view>
</block>
</view>

微信小程序的js代码

Page({
data: {
dataList: [], // 存储接口返回的数据
currentPage: 1, // 当前页码
perPage: 10, // 每页显示的数据数量
isLoading: false, // 是否正在加载数据
hasMore: true // 是否还有更多数据
}, onLoad: function() {
this.getDataList();
}, // 请求接口数据
getDataList: function() {
if (this.data.isLoading || !this.data.hasMore) {
return;
} this.setData({
isLoading: true
}); wx.request({
    //下面的url需要更换成自己的接口
url: 'http://www.day.com/index.php/data',
data: {
page: this.data.currentPage,
perPage: this.data.perPage
},
success: res => {
const newDataList = res.data.data;
const totalPage = res.data.last_page;
const currentPage = res.data.current_page; this.setData({
dataList: this.data.dataList.concat(newDataList),
currentPage: currentPage + 1,
isLoading: false,
hasMore: currentPage < totalPage
});
},
fail: error => {
console.error('Failed to fetch data:', error);
this.setData({
isLoading: false
});
}
});
}, // 上拉加载更多
onReachBottom: function() {
this.getDataList();
}
});

下面是json的代码

{
"onReachBottomDistance": 50,
"usingComponents": {}
}

接下来是wxss代码

/* pages/page/page.wxss */

.data-list {
padding: 20rpx;
} .data-item {
margin-bottom: 20rpx;
background-color: #f2f2f2;
padding: 10rpx;
border-radius: 5rpx;
} .data-item-name {
font-size: 16px;
font-weight: bold;
} .data-item-description {
margin-top: 5rpx;
color: #666;
}

在数据库里面datas表里面生成一些数据

这时候,就可以在微信开发者工具里面实现上拉加载的效果,下面是效果图

注意,以上是示例代码,在个人开发中按照自己的需求对其更改

微信小程序上拉加载的更多相关文章

  1. 微信小程序上拉加载下拉刷新

    微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载 ...

  2. 微信小程序 - 上拉加载下拉刷新

    点击下载示例:小程序 - 上拉刷新下拉加载

  3. 微信小程序上拉加载:onReachBottom详解+设置触发距离

    前端经常遇到上拉加载更多的需求,一般还涉及到翻页.小程序里已经给了下拉到底的触发方法onReachBottom(),这里记录下怎样使用这个方法实现下拉加载更多,有需要的直接看代码,有详细注释: 1.首 ...

  4. 微信小程序 - 上拉加载

    demo.wxml  文件 <view wx:for="{{listdata}}" wx:key="listdata" class='listitem'& ...

  5. 微信小程序~上拉加载onReachBottom

    代码: //页面上拉触底事件的处理函数 onReachBottom(e) { console.log("底部")// 滚动到页面执行 该 方法 wx.showToast({ tit ...

  6. 微信小程序上拉加载——分页

    wxml: <view class="page"> <scroll-view class="imageViewCss_1" scroll-y= ...

  7. 微信小程序 - 上拉加载更多组件

    详情用例看demo,点击下载示例:loadmore

  8. 微信小程序之下拉加载和上拉刷新

    微信小程序下拉加载和上拉刷新两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性       ...

  9. 微信小程序下拉加载和上拉刷新两种实现方法

    方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性 设置js里onPullDownRefresh和onR ...

  10. 微信小程序之上拉加载更多

    loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流 ...

随机推荐

  1. OpenGL 三角形颜色插值

    1.最懒的方法--Nearest Neighbor对于三角形内的点,离三个顶点谁最近,就赋值为那个顶点对应的颜色. 2.最天真的方法--Distance三角形内一点的值应该来自于三个顶点. 计算距离: ...

  2. find命令在根目录查找文件

    find命令在根目录查找文件 find命令口诀是: find   路   名   含 一,首先看看路径的表示方法 .  表示当前目录 .. 表示上一级目录 cd ..  表示返回上一级目录cd ../ ...

  3. Postman汉化成中文版

    postman安装默认是英文版,为使用方便使用汉化包转成中文版 1.查看本地安装的postman版本:Settings->About 2.根据postman的版本下载对应的汉化包,汉化包网址 3 ...

  4. 【SpringBoot】数据源加密处理

    代码审计报告提出的一个问题: 明文暴露配置信息风险 解决方案可以使用jasypt实现 需要使用依赖: <dependency> <groupId>com.github.ulis ...

  5. 【C3】04 工作原理

    我们已经知道了CSS是做什么的以及怎么写简单的样式这样基础的CSS, 接下来我将了解到浏览器如何获取CSS.HTML和将他们加载成网页. 前置知识: 基础计算机知识.基本软件安装.简单文件知识.HTM ...

  6. 【SpringBoot】11 Web开发 Part2 模板引擎

    开发回顾: JavaWeb开发使用JSP技术,所有的页面文件必须是JSP,才能接受数据处理 JSP的好处是,数据交互方便,有JSTL补充 SpringBoot的区别: 我们最终的项目是一个jar包 内 ...

  7. AI领域的国产显卡如何在现有技术下吸引用户 —— 廉价增加显存 —— 大显存

    先给出一个不大准确的但相差不差的背景介绍: 同样性能级别的显卡,NVIDA的24G的要3W,32G的要5W,48G的要7W, 80G的要10W. 国产同同性能的显卡32G的要10W,48G的要15W, ...

  8. 【转载】 ReLu(Rectified Linear Units)激活函数

    原文地址: https://www.cnblogs.com/neopenx/p/4453161.html ============================== 论文参考:Deep Sparse ...

  9. 多节点高性能计算GPU集群的构建

    建议参考原文: https://www.volcengine.com/docs/6535/78310 ============================================= 一直都 ...

  10. notepad++安装HexEdit插件

    notepad++安装HexEdit插件 打开notepad++,选择插件->插件管理 在这里找到HexEdit点击安装就可以 点击完,notepad++会自动重启,重启完成就安装好了