zoukankan      html  css  js  c++  java
  • 实现分页加载,加载更多(按钮类型),滚动加载的方式

    基于vue语法

    分页加载(vue+element -ui)

    <template>
      <div>
        <el-pagination
          class="pagination"
          background
          layout="prev, pager, next"
          :pageSize="pageSize"
          :total="total"
          @current-change="handleChange"
        >
        </el-pagination>
      </div>
    </template>
    <script>
    import { Pagination, Button } from "element-ui"; //局部引入分页组件
    export default {
      name: "demo",
      components: {
        [Pagination.name]: Pagination,
      },
      data() {
        return {
          pageSize: 3,
          pageNum: 1,
          total: 0,
        };
      },
      mounted() {
        this.getOrderList();
      },
      methods: {
        getOrderList() {
          this.axios
            .get("/orders", {
              params: {
                pageSize: this.pageSize,
                pageNum: this.pageNum,
              },
            })
            .then((res) => {
              this.list = res.list;
              this.total = res.total;
              this.loading = false;
            })
            .catch(() => {
              this.loading = false;
            });
        },
        //分页器分页
        handleChange(pageNum) {
          this.pageNum = pageNum;
          this.getOrderList();
        },
      },
    };
    </script>
    
    <style></style>
    

      

    加载更多

      点击按钮加载更多,始终一屏显示,加载数据拼接在原数据后面!

    <template>
      <div>
        <el-button type="primary" :loading="loading" @click="loadMore"
          >加载更多</el-button
        >
      </div>
    </template>
    <script>
    import { Button } from "element-ui"; //局部引入分页组件
    export default {
      name: "demo",
      components: {
        [Button.name]: Button,
      },
      data() {
        return {
          pageSize: 3,
          pageNum: 1,
        };
      },
      mounted() {
        this.getOrderList();
      },
      methods: {
        getOrderList() {
          this.axios
            .get("/orders", {
              params: {
                pageSize: this.pageSize,
                pageNum: this.pageNum,
              },
            })
            .then((res) => {
              this.list = this.list.concat(res.list);//拼接原数据
              this.total = res.total;
              this.loading = false;
            })
            .catch(() => {
              this.loading = false;
            });
        },
        loadMore() {
          this.getOrderList();
        },
      },
    };
    </script>
    <style></style>
    

      

    滚动加载数据

    1.使用插件   vue-infinite-scroll

    2.使用插件better-scroll

     

       可查看相关文档哈

    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    Centos7安装Typecho详细教程
    Liunx 安装 Nessus
    攻防世界 web进阶练习 NewsCenter
    针对Linux 文件完整性监控的实现
    ParrotSec 中文社区 QQ群认证 Openssl解密
    中转Webshell 绕过安全狗(二)
    中转Webshell 绕过安全狗(一)
    Kali Linux Web渗透测试手册(第二版)
    JavaScript指定断点操作
    年轻程序员如何快速成长
  • 原文地址:https://www.cnblogs.com/hudunyu/p/13853692.html
Copyright © 2011-2022 走看看