【常用页面记录】vue+elementUI实现搜索框+上拉加载列表

一、代码

<template><div class="mainBox"><div class="headbox"><el-input  placeholder="请输入文件名称搜索" prefix-icon="el-icon-search" v-model="fileName" :clearable="true" @change="search()" ></el-input></div><ul class="listBox" v-infinite-scroll="infiniteScroll" :infinite-scroll-disabled="routeLoad||noMore" :infinite-scroll-distance="5" ><li class="file" v-for="(item,index) in list" :key="index">{{item.FILE_NAME}}<el-button size="mini" round @click="handleDown(item)">下载</el-button></li><el-empty v-show="list.length==0" description="文件为空"></el-empty></ul></div>
</template><script>
import request from '@/http/request'
export default {data () {return {list: [],//列表searchText: '',//搜素内容fileName:'',//文件名称noMore: false, // 控制滚动禁用routeLoad: false, // 控制滚动禁用limit:18,page:1,}},computed: {},mounted () {this.initList()},methods:{// 滚动加载数据infiniteScroll() {this.routeLoad = true;this.page += 1; // 页码每次滚动+1this.initList();},// 初始化列表数据initList () {this.$myLoading.showLoading()let data={limit:this.limit,//条数page:this.page,//当前页码fileName:this.fileName,//文件名称}request.$http('/file/queryFileList', 'get', data).then(response => {this.$myLoading.hideLoading()if (response.code === 0) {let listData = response.data;for (let i = 0; i < listData.length; i++) {this.list.push(listData[i]);}// 如果请求回来的数据小于limit,则说明数据到底了。if (listData.length < 18) {this.noMore = true;}// 避免数据总条数是pageSize的倍数时,数据到底还会请求一次。if (this.list.length === response.count) {this.noMore = true;}this.routeLoad = false;} else {this.$msg.error(response.msg)}})},// 搜索 search () {this.list = []this.page = 1this.initList()},// 点击下载图标触发handleDown (row) {console.log(row)this.$myLoading.showLoading()request.$http('/file/downloadFile', 'get', { filePath: row.FILE_PATH, fileName: row.FILE_NAME }, { responseType: "blob" }).then(response => {this.$myLoading.hideLoading()const link = document.createElement('a')  // 创建a标签let blob = new Blob([response])link.style.display = 'none'link.href = URL.createObjectURL(blob)   // 创建下载的链接link.setAttribute('download', row.FILE_NAME)  // 给下载后的文件命名document.body.appendChild(link)link.click()  // 点击下载document.body.removeChild(link)  //  完成移除元素window.URL.revokeObjectURL(link.href)  // 释放blob对象})},}
}
</script><style lang="less" scoped>
.mainBox {position: absolute;top: 0;bottom: 0;left: 0;right: 0;overflow: auto;background: #f7f7f9;color: #333;font-size: 16px;.headbox {padding: 28px 20px 18px;position: fixed;width: 100%;border-radius: 6px;opacity: 1;display: flex;flex-direction: column;gap: 15px;background: #ffffff;border-bottom: 20px solid #f7f7f9;/deep/ .el-input__inner {height: 36px;border-radius: 30px;text-align: center;background: #f3f3f3;border: none;}/deep/ .el-input__prefix {// left:100px;left: 3px;}/deep/ &.on .el-input__icon {left: 100px;}/deep/ .el-input__icon {line-height: 36px;}.IconShow{/deep/ .el-icon-search:before{content:''}}}.listBox {background: #fff;height: calc(100% - 102px);overflow: auto;margin-top: 100px;.file {padding: 12px 15px;background: #ffffff;display: flex;justify-content: space-between;align-items: center;border-bottom: 1px solid #f2f2f3;/deep/ .el-button {border: 1px solid#2E74DE;color: #2e74de;font-size: 16px;}}}
}
</style>

二、实现效果

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

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

相关文章

C++特性:继承,封装,多态

继承 封装 类把⾃⼰的数据和⽅法只让可信的类或者对象操作&#xff0c;对不可信的进⾏隐藏&#xff0c;如&#xff1a;将公共的数据或⽅法使⽤public修饰&#xff0c;⽽不希望被访问的数据或⽅法采⽤private修饰 多态 即向不同对象发送同⼀消息&#xff0c;不同的对象在接收…

React编写CSS方式

1. css modules css modules并不是React特有的解决方案&#xff0c;而是所有使用了类似于 webpack配置的环境 下都可以使用的。 如果在其他项目中使用它&#xff0c;那么我们需要自己来进行配置&#xff0c;比如 配置webpack.config.js中的modules: true 等。 React的脚手架已经…

php中使用Imagick转换PDF第一页为PNG图片并且识别出二维码

前言&#xff1a;关于php中如何安转Imagick可见相关教程&#xff0c;在识别二维码用到了这个扩展&#xff1a; khanamiryan/php-qrcode-detector-decoder 需要注意的是目前该扩展已经更新到了2.0.2&#xff0c;默认使用composer安转不指定版本会安装最新版本的扩展&#xff0c;…

【Linux服务端搭建及使用】

连接服务器的软件&#xff1a;mobaxterm 设置root 账号 sudo apt-get install passwd #安装passwd 设置方法 sudo passwd #设置root密码 su root #切换到root账户设置共享文件夹 一、强制删除原有环境 1.删除python rpm -qa|grep pytho…

获取西华大学新闻网站信息(爬虫样例)

利用python的爬虫功能进行信息爬取&#xff0c;关键在于源码分析&#xff0c;代码相对简单。 1 源代码分析 访问网站&#xff0c;按下F12&#xff0c;进行元素查找分析。 2 代码实现 from requests import get from bs4 import BeautifulSoupdef getXhuNews(pageNum1):&qu…

作用域理解

概念:它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的。表示变量 或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。 ES5的作用域只有两种:全局作用域和局部作用域 全局作用域 var a1; //全局作用域 function fn1(…

【每日一记】OSPF区域划分详讲、划分区域的优点好处

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;小新爱学习. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc…

各大搜索引擎的User-Agent

各大搜索引擎的User-Agent baidu&#xff1a;Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html) Google&#xff1a;Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html) Sogou&#xff1a;Sogou web spider/4.0(h…

Java语法HashMap集合computeIfAbsent()方法使用

编程中经常遇到这种数据结构&#xff0c;判断一个map中是否存在这个key&#xff0c;如果存在则处理value的数据&#xff0c;如果不存在&#xff0c;则创建一个满足value要求的数据结构放到value中。以前常用的方法如下&#xff1a; import java.util.*;public class TestCompu…

Spring技术原理之Bean生命周期原理解析

Spring技术原理之Bean生命周期原理解析 Spring作为Java领域中的优秀框架&#xff0c;其核心功能之一是依赖注入和生命周期管理。其中&#xff0c;Bean的生命周期管理是Spring框架中一个重要的概念。在本篇文章中&#xff0c;我们将深入探讨Spring技术原理中的Bean生命周期原理…

家政服务行业做开发微信小程序可以实现什么功能

家政服务行业开发微信小程序可以实现多种功能&#xff0c;从而提升服务品质和效率&#xff0c;下面我们来详细介绍一些可能实现的功能。 一、展示服务信息 家政服务微信小程序可以展示各种服务信息&#xff0c;包括各类家政服务项目、价格、服务流程、服务人员信息等。用户可以…

岛屿的数量

题目描述 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以…

uniapp-vue3 抖音小程序开发(上线项目开源)

最近公司临时接一个项目来接手别人的流量&#xff0c;项目比较小&#xff0c;时间比较赶。 需求&#xff1a;一个答题小程序&#xff0c;通过答题来实现性格测算和分析。 之前开发过支付宝小程序和微信小程序&#xff0c;这次是首次开发抖音小程序&#xff0c;老板要求只能下…

第十三章:IO流

13.1&#xff1a;File类的使用 package com.jiayifeng.java;import org.junit.Test;import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.Date;/*** author 爱编程的小贾* create 2023-10-10 16:13** 一&#xff1a;File类的使用…

通过后台系统添加一段div,在div中写一个<style></style>标签来修改div外面的元素的深层元素的样式

先看图 btn元素就是通过后台系统加上的元素,现在需要通过在btn里面写一个style标签来修改grid-nine里面的head元素的高度.开始想通过style来修改,但是不知道怎么去获取这个div外面的元素,想通过js方法去修改,写了script标签加了js代码,但不生效,后面问了才知道,这个项目是vue打…

MES系统安灯管理:实时可视化生产线状态

一、MES系统安灯管理的意义&#xff1a; 安灯管理是指通过使用不同颜色的灯光信号来表示生产线的状态&#xff0c;以便生产人员能够直观地了解生产线的运行情况。MES系统安灯管理的意义在于提供一个实时可视化的工具&#xff0c;使制造企业能够及时发现生产线异常和潜在问题&a…

light client轻节点简介

1. 引言 前序博客&#xff1a; Helios——a16z crypto构建的去中心化以太坊轻节点 去中心化和自我主权对于Web3的未来至关重要&#xff0c;但是这些理想并不总适用于每个项目或应用程序。在非托管钱包和bridges等工具中严格优先考虑安全性而不是便利性的用户&#xff0c;可选…

【安全】容器中二进制漏洞检测方案

1 背景 镜像或者容器中&#xff0c;如果用户是通过包管理软件安装的程序&#xff0c;可以通过包管理软件获取对应的软件信息和版本信息&#xff0c;但是&#xff0c;如果用户自己编译了一个二进制&#xff0c;然后打包到镜像或者通过拷贝命令放到容器中&#xff0c;该如何识别…

设计模式 - 结构型模式考点篇:适配器模式(类适配器、对象适配器、接口适配器)

目录 一、适配器模式 一句话概括结构式模式 1.1、适配器模式概述 1.2、案例 1.2.1、类适配器模式实现案例 1.2.2、对象适配器 1.2.3、接口适配器 1.3、优缺点&#xff08;对象适配器模式&#xff09; 1.4、应用场景 一、适配器模式 一句话概括结构式模式 教你将类和对…