微信小程序上拉加载
下面是一个示例,在个人使用的过程中按自己需求进行更改
创建一个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). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载 ...
- 微信小程序 - 上拉加载下拉刷新
点击下载示例:小程序 - 上拉刷新下拉加载
- 微信小程序上拉加载:onReachBottom详解+设置触发距离
前端经常遇到上拉加载更多的需求,一般还涉及到翻页.小程序里已经给了下拉到底的触发方法onReachBottom(),这里记录下怎样使用这个方法实现下拉加载更多,有需要的直接看代码,有详细注释: 1.首 ...
- 微信小程序 - 上拉加载
demo.wxml 文件 <view wx:for="{{listdata}}" wx:key="listdata" class='listitem'& ...
- 微信小程序~上拉加载onReachBottom
代码: //页面上拉触底事件的处理函数 onReachBottom(e) { console.log("底部")// 滚动到页面执行 该 方法 wx.showToast({ tit ...
- 微信小程序上拉加载——分页
wxml: <view class="page"> <scroll-view class="imageViewCss_1" scroll-y= ...
- 微信小程序 - 上拉加载更多组件
详情用例看demo,点击下载示例:loadmore
- 微信小程序之下拉加载和上拉刷新
微信小程序下拉加载和上拉刷新两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性 ...
- 微信小程序下拉加载和上拉刷新两种实现方法
方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性 设置js里onPullDownRefresh和onR ...
- 微信小程序之上拉加载更多
loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流 ...
随机推荐
- 实验6-使用TensorFlow完成线性回归 cannot import name ‘OrderedDict‘ from ‘typing‘错误的解决方法
找到对应的报错方法 删除 再添加from typing_extensions import OrderedDict
- MSPM0G3507外设DMA学习笔记
概述 变量的存储 正常情况下,变量存储在SRAM中,如果要发送该变量的值到外设,需要调用内核操作,使SRAM中的数据送到外设. 此类型操作过多会导致占用CPU高,整体卡顿. DMA控制概述 DMA:D ...
- .NET周刊【7月第4期 2024-07-28】
国内文章 .NET 高性能缓冲队列实现 BufferQueue https://mp.weixin.qq.com/s/fUhJpyPqwcmb3whuV3CDyg BufferQueue 是一个用 . ...
- Jmeter函数助手40-escapeHtml
escapeHtml函数用于将字符串进行HTML转义. 字符串转义:填入字符串 1.escapeHtml函数是将字符换进行HTML转义,jmeter还存在其它格式化函数如urlencode函数,url ...
- 【JavaWeb】 接口鉴权
一年前写过一篇,叫Webservice校验机制,叫法不太对,就是接口鉴权 https://www.cnblogs.com/mindzone/p/15078436.html 这东西就是说,你提供给外部的 ...
- 【Vue】Re08 模块化
一.JS的演变: 1.简单的页面控制,改变HTML标签和CSS样式 2.AJAX异步请求,控制前后数据传输问题 3.更强大的功能,几乎依赖JS实现 工程管理问题: 简单页面只需要在页面嵌入script ...
- SpringBoot3-快速入门
前置准备 Jdk17环境 idea 2021.2.1+才支持Java17 Springboot 3.0.5+ 开发百科书 springboot starter 官方支持的场景 springboot配置 ...
- ubuntu系统升级软件sudo apt upgrade后GPU崩溃报错,显示驱动版本不匹配——ubuntu系统版本过低导致的问题
ubuntu系统升级软件(sudo apt upgrade)后,GPU崩溃报错,查看系统日志: Aug 2 06:25:02 lcwt rsyslogd: [origin software=" ...
- SMU Summer 2024 Contest Round 3
SMU Summer 2024 Contest Round 3 寻找素数对 题意 给你一个偶数,找到两个最接近的素数,其和等于该偶数. 思路 处理出 1e5 以内的素数,然后遍历,更新最接近的答案. ...
- CH03_布局
第3章:布局 本章目标 理解布局的原则 理解布局的过程 理解布局的容器 掌握各类布局容器的运用 理解 WPF 中的布局 WPF 布局原则 WPF 窗口只能包含单个元素.为在WPF 窗口中放置多个元 ...