element ui 虚拟滚动 滚动到底部加载下一页

news/发布时间2024/5/15 11:12:50

引入element ui的InfiniteScroll 无限滚动插件

在这里插入图片描述

<div class="news-left"><div class="infinite-list-wrapper" style="overflow:auto;height: 70vh"><ul class="list" v-infinite-scroll="load"><li :class="isActive !== index ? 'media-list' : 'media-active'" @click="newsClick(index, item)"v-for="(item, index) in mediumList" :key="index"><div class="media-item"><div class="media-title" :title="item.title">{{ item.title }}</div></div><div :class="isActive !== index ? '' : 'media-left-sharp'"v-if="isActive == index ? true : false"></div></li></ul><p v-if="loading" class="news-tip">加载中...</p><p v-if="noMore" class="news-tip">没有更多了</p></div>
</div>

滚动到最底部的时候调用接口,判断是否大于总数,大于则不调用接口

      //滚动到最底部加载下一页load() {if (this.count <= this.total - 1 && !this.loading) {this.page += 1this.count += 10this.getNewsListData()} else {this.loading = false}},

完整代码

<template><Modal v-model="showModal" :closable="false" width="80%" class="modal-news"><div slot="header" style="margin-top: 2vh"><i class="modal-close" @click="closeModal"></i><div>{{ modalName }}</div></div><div class="news"><div class="news-left"><div class="infinite-list-wrapper" style="overflow:auto;height: 70vh"><ul class="list" v-infinite-scroll="load"><li :class="isActive !== index ? 'media-list' : 'media-active'" @click="newsClick(index, item)"v-for="(item, index) in mediumList" :key="index"><div class="media-item"><div class="media-title" :title="item.title">{{ item.title }}</div></div><div :class="isActive !== index ? '' : 'media-left-sharp'" v-if="isActive == index ? true : false"></div></li></ul><p v-if="loading" class="news-tip">加载中...</p><p v-if="noMore" class="news-tip">没有更多了</p></div></div><div class="news-right"><div class="platform-right-content"><vuescroll :ops="ops" style="margin-top: 0.5vh"><div style="height: 60vh"><div class="modal-wrap" v-html="selected.content"></div></div></vuescroll></div></div></div><div slot="footer"></div></Modal></template><script>import vuescroll from "vuescroll";import {getNewsList} from "@/api/serviceSupport";import { getPolicyNewsList } from "@/api/platform/fillData.js";export default {components: {vuescroll,},props: {total: {type: Number,default: 10},},data() {return {reqType: '',count: 0,loading: false,showModal: false,modalName: "",isActive: 0,selected: {},mediumList: [],page: 1,pageSize: 10,newsType: '',checkState: "",ops: {vuescroll: {},scrollPanel: {scrollingX: false,},rail: {keepShow: true,},bar: {hoverStyle: true,onlyShowBarOnScroll: false, //是否只有滚动的时候才显示滚动条background: "#ccc", //滚动条颜色opacity: 0.5, //滚动条透明度},},};},computed: {noMore() {return this.count >= this.total},},mounted() {console.log(this.total);},methods: {showModalAction(list, index, title) {this.showModal = true;this.modalName = title;this.mediumList = list;this.isActive = index || 0;this.modalName = titlethis.selected = list[this.isActive];this.count = this.mediumList.lengththis.page = 1},//设置接口调用的参数setData(newsType, checkState, reqType) {this.newsType = newsType;this.checkState = checkState;this.reqType = reqType;},closeModal() {this.showModal = false;},//滚动到最底部加载下一页load() {if (this.count <= this.total - 1 && !this.loading) {this.page += 1this.count += 10this.getNewsListData()} else {this.loading = false}},newsClick(index, item) {this.isActive = index;this.selected = item;},async getNewsListData() {this.loading = truevar that = this;const { data } = await getNewsList({newsType: this.newsType,checkState: this.checkState,page: this.page,pageSize: this.pageSize,});this.loading = falseif (data && data.records.length > 0) {data.records.map((p) => {that.mediumList.push({time: p.publishTime && p.publishTime.substring(0, 10),title: (p.title && p.title) || "",newsSourceStr: p.newsSourceStr && p.newsSourceStr,});});}},},};</script><style lang="less" scoped>.modal-news {.news-tip {color: #fff;text-align: center;margin: 0.3rem;}.modal-title {width: 100%;display: flex;justify-content: space-between;align-items: center;padding: 0.2rem 0.5rem;.title-bj {max-width: 90%;min-width: 50%;height: 4vh;display: flex;align-items: center;.title-logo {width: 8px;height: 8px;background: #f8de90;box-shadow: 0px 0px 17px 2px rgba(255, 104, 0, 0.95);margin-right: 0.3rem;}p {font-size: 0.5rem;font-family: YouSheBiaoTiHei, YouSheBiaoTiHei-Regular;font-weight: 400;color: #ffffff;cursor: pointer;}}}}.news {display: flex;height: 72vh;padding: 0 0.5rem;.news-left {width: 25%;height: 100%;overflow: hidden;}.news-right {width: 75%;margin-left: 2%;height: 100%;}}</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/XKSs/5035.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

【Python笔记-设计模式】原型模式

一、说明 原型模式是一种创建型设计模式&#xff0c; 用于创建重复的对象&#xff0c;同时又能保证性能。 使一个原型实例指定了要创建的对象的种类&#xff0c;并且通过拷贝这个原型来创建新的对象。 (一) 解决问题 主要解决了对象的创建与复制过程中的性能问题。主要针对…

06 flink 的各个角色的交互

前言 这里主要是 涉及到 flink 中各个角色的交互 TaskManager 和 ResourceManager 的交互 JobMaster 和 ResourceManager 的交互 等等流程 TaskManager 和 ResourceManager 的交互 主要是 包含了几个部分, 如下, 几个菜单 TaskManager向 ResourceManager 注册 Resou…

每日五道java面试题之spring篇(五)

目录&#xff1a; 第一题. 使用 Spring 有哪些方式&#xff1f;第二题. 什么是Spring IOC 容器&#xff1f;第三题. 控制反转(IoC)有什么作用?第四题. IOC的优点是什么&#xff1f;第五题. BeanFactory 和 ApplicationContext有什么区别&#xff1f; 第一题. 使用 Spring 有哪…

辽宁博学优晨教育视频剪辑培训探索学习新意义

在当今数字化快速发展的时代&#xff0c;视频已成为信息传达的重要载体。辽宁博学优晨教育视频剪辑培训应运而生&#xff0c;不仅为学员提供了专业的学习平台&#xff0c;更在探索学习的意义方面赋予了新的内涵。 视频剪辑作为现代媒体行业的重要技能&#xff0c;其学习意义不仅…

信息抽取(UIE):使用自然语言处理技术提升证券投资决策效率

一、引言 在当今快速变化的证券市场中&#xff0c;信息的价值不言而喻。作为一名资深项目经理&#xff0c;我曾领导一个关键项目&#xff0c;旨在通过先进的信息抽取技术&#xff0c;从海量的文本数据中提取关键事件&#xff0c;如企业并购、新产品发布以及政策环境的变动。这些…

【k8s资源调度-HPA(自动扩缩容)】

1、HPA可以做什么&#xff1f; 通过观察pod的cpu、内存使用率或自定义metrics指标进行自动的扩容或缩容pod的数量。通常用于Deployment&#xff0c;不适用于无法扩/缩容的对象&#xff0c;如DaemonSet。控制管理器每隔30s(可以通过-horizontal-pod-autoscaler–sync-period修改…

创建spring项目报错:read time out

在新电脑使用idea创建spring项目时&#xff0c;提示read time out多次尝试无果。 发现只要取消这个选择就可以正常下载。&#xff08;版本是202202&#xff09; 取消勾选后可以正常下载 &#xff08;下载完成后&#xff0c;再次创建sprin项目勾上无影响。&#xff09;

网页403错误(Spring Security报异常 Encoded password does not look like BCrypt)

这个错误通常表现为"403 Forbidden"或"HTTP Status 403"&#xff0c;它指的是访问资源被服务器理解但拒绝授权。换句话说&#xff0c;服务器可以理解你请求看到的页面&#xff0c;但它拒绝给你权限。 也就是说很可能测试给定的参数有问题&#xff0c;后端…

K8S—Pod详解

目录 一 Pod基础概念 1.1 Pod是什么 1.2 为什么要使用Pod&#xff1f;Pod在K8S集群中的使用方式&#xff1f; 1.3 基础容器pause 二 Pod的分类 2.1 自主式Pod和控制器管理的Pod 2.2 容器的分类 2.2.1 基础容器&#xff08;infrastructure container&#xff09; 2.2.2…

网络原理——HTTP

1. 什么是HTTP协议 HTTP是应用层的协议。Java最主要的应用场景是做网站&#xff0c;而网站由 后端&#xff08;HTTP服务器&#xff09; 和 前端&#xff08;浏览器&#xff09;组成&#xff0c;HTTP协议就是负责这里后端和前端的数据交互。 HTTP3.0 之前在传输层是通过 TCP传…

HarmonyOS—添加/删除Module

Module是应用/服务的基本功能单元&#xff0c;包含了源代码、资源文件、第三方库及应用/服务配置文件&#xff0c;每一个Module都可以独立进行编译和运行。一个HarmonyOS应用/服务通常会包含一个或多个Module&#xff0c;因此&#xff0c;可以在工程中创建多个Module&#xff0…

8.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-游戏底层功能对接类GameProc的实现

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;通过逆向分析确定游戏明文接收数据过程 码云地址&#xff08;master 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/titan 码云版本号&#xff1a;bcf7559184863febdcad819e48aaa…

PostgreSQL如何使用UUID

离线安装时&#xff0c;一般有四个包&#xff0c;都安装的话&#xff0c;只需要开启uuid的使用即可&#xff0c;如果工具包(即 postgresql11-contrib&#xff09;没有安装的话&#xff0c;需要单独安装一次&#xff0c;再进行开启。 开启UUID方法 下面介绍一下如何开启&#…

Flink Sql 自定义实现 kudu connector

Flink Sql 自定义实现 kudu connector 原理实现 众所周知啊&#xff0c;flinksql 中与其他的存储做数据的传输连接的时候&#xff0c;是需要有独特的连接器的&#xff0c;mysql redis es hbase kudu &#xff0c;不同的存储他们自己使用的协议与操作都不一样&#xff0c;所以需…

每日五道java面试题之spring篇(四)

目录&#xff1a; 第一题 Spring框架的设计目标&#xff0c;设计理念&#xff0c;和核心是什么&#xff1f;第二题. Spring由哪些模块组成&#xff1f;第三题. 详细讲解一下核心容器&#xff08;spring context应用上下文) 模块第四题.Spring框架中有哪些不同类型的事件第五题.…

什么是以太坊

以太坊&#xff08;Ethereum&#xff09;&#xff1a;开启智能合约时代的区块链平台 介绍 以太坊&#xff08;Ethereum&#xff09;是一种开源区块链平台&#xff0c;由Vitalik Buterin于2015年创建。它不仅支持数字货币&#xff0c;还提供了一种强大的工具&#xff0c;使开发…

黑色金属冶炼5G智能工厂数字孪生可视化管控系统,推进金属冶炼行业数字化转型

黑色金属冶炼5G智能工厂数字孪生可视化管控系统&#xff0c;推进金属冶炼行业数字化转型。随着科技的不断发展&#xff0c;数字化转型已经成为各行各业发展的必然趋势。金属冶炼行业作为传统工业的重要组成部分&#xff0c;也面临着数字化转型的挑战和机遇。为了推进金属冶炼行…

vue-router 三级路由,路由跳转页面异常白屏或404,或刷新三级路由页面后一级和二级路由菜单丢失

问题描述 情况1. vue-router 定义三级路由&#xff0c;路由跳转了&#xff0c;页面404或者白屏情况2. 点击菜单三级路由后&#xff0c;刷新页面后一级和二级路由菜单丢失 解决方案&#xff1a; 某些时候是因为二级和三级的路由共用router-view&#xff0c;可以使用router-vi…

每日五道java面试题之spring篇(六)

目录&#xff1a; 第一题 ApplicationContext通常的实现是什么&#xff1f;第二题 什么是Spring的依赖注入&#xff1f;第三题 依赖注入的基本原则第四题 依赖注入有什么优势&#xff1f;第五题 有哪些不同类型的依赖注入实现方式&#xff1f; 第一题 ApplicationContext通常的…

算法-搜索二维矩阵 II

1、题目来源 240. 搜索二维矩阵 II - 力扣&#xff08;LeetCode&#xff09; 2、题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#x…
推荐文章