Vue3一行代码写完列表请求和分页状态控制?增加你摸鱼时间以及准点下班的技巧

在Vue 3中,你可以使用<script setup>语法糖和Composition API来简化你的代码。以下是一个简单的例子,展示了如何用一行代码实现列表请求和分页状态控制:




<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">{{ item.name }}</li>
    </ul>
    <button @click="fetchList(currentPage - 1)">上一页</button>
    <button @click="fetchList(currentPage + 1)">下一页</button>
  </div>
</template>
 
<script setup>
import { ref, onMounted } from 'vue';
import axios from 'axios';
 
const list = ref([]);
const currentPage = ref(1);
const pageSize = ref(10);
const total = ref(0);
 
const fetchList = async (page) => {
  if (page < 1 || page > Math.ceil(total.value / pageSize.value)) return;
  const { data } = await axios.get('your-api-endpoint', {
    params: { page, pageSize: pageSize.value }
  });
  list.value = data.items;
  currentPage.value = page;
  total.value = data.total || 0;
};
 
onMounted(() => {
  fetchList(1);
});
</script>

这段代码实现了以下功能:

  1. 定义了listcurrentPagepageSizetotal作为响应式状态。
  2. 实现了fetchList函数,它处理API请求和状态更新。
  3. 使用onMounted生命周期钩子在组件挂载时请求第一页数据。
  4. 通过模板提供了分页的用户界面,并通过点击按钮触发页码的变更。
VUE
最后修改于:2024年08月24日 21:44

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日