Vue下简单分页及搜索功能
最近利用Vue和element ui仿写了个小页面,记一哈分页和搜索功能的简单实现。
首页 emmmm.....
搜索框输入.....
搜索完成
数据是直接写在这里面的:
- cardPhoto:[
- {
name: '少女风十足!可爱萌妹子',- href: '/details',
- img: require('@/assets/1/1.jpg'),
- time: '2019-09-22',
- },
- .........
.........
.........- ]
element ui 中的分页
- <!--分页-->
- <div class="block">
- <el-pagination
- background
- :current-page.sync="currentPage"
- :page-sizes="[3, 6, 9, 12]"
- :page-size="num"
- layout="total, sizes, prev, pager, next, jumper"
- :total="cardPhoto.length"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange">
- </el-pagination>
- </div>
- data() {
- return {
- num: 3, //每页显示
- currentPage: 1, //当前页
- }
- }
- methods : {
- //每页条数
handleSizeChange(val) {
this.num = val
},
//当前页
handleCurrentChange(val) {
this.currentPage = val
},
- }
主页照片:
- <div class="card"> <!--当前页-1*每页数,当前页*每页数-->
- <div class="card-box" v-for="card in cardPhoto.slice((currentPage-1)*num, currentPage*num)" :key="card">
- <div class="card-img">
- <a href="javascript:void(0);" @click="routeGo(card)"><img :src="card.img" width="270px"/></a>
- <div class="info">
- <el-row><a href="javascript:void(0);" @click="routeGo(card)">{{card.name}}</a></el-row>
- <time class="time">{{ card.time }}</time>
- </div>
- </div>
- </div>
- </div>
实现分页的关键:
- cardPhoto.slice((currentPage-1)*num, currentPage*num)
- v-for对小盒子遍历时进行对应显示
slice()方法提取某个数组的一部分,并返回一个新的数组,且不会改动原数组比如当前页是第一页,每页仨数据,那就提取(1-1*3,1*3) => (0,3)也就是索引 0,1,2的数据
因为起止参数包括开始索引,不包括结束索引。
至此分页已成。,。- 搜索栏:
- <input class="seach-input" type="text" aria-placeholder="搜一搜,看一看" v-model="search"/>
- <button class="search-btn" type="submit" @click="searchCont">搜索</button>
别忘了在data() 下添加 search: ' ',
- // 搜索
- searchCont() {
- var search = this.search
- if(search) {
- this.cardPhoto = this.cardPhoto.filter((cardPhoto) => {
- return String(cardPhoto.name).indexOf(search) !== -1
- })
- }else {
- history.go(0)
- }
this.search = ''- },
filert 把Array
的某些元素过滤掉,然后返回剩下的元素。
具体去: https://www.liaoxuefeng.com/wiki/1022910821149312/1024327002617536
stringObject.indexOf( )
indexOf()返回()中出现的位置,没有返回-1,所以 只输出 !== -1的值,
输入cardPhoto.name里的值就可以搜索了,。,
具体去:https://www.w3school.com.cn/jsref/jsref_indexOf.asp
- history.go(0) 输入框中空 点击搜索,页面刷新(这种方法不是太好,练习可用)
- 有不足和错误,请指正。
- 生命不息,折腾不止。
我就要这几个杯子里的中杯 -- !
罗老师别这样 !--
Vue下简单分页及搜索功能的更多相关文章
- 原生javascript实现分页效果+搜索功能
一.概述 首先,我们要明确为何需要分页技术,主要原因有以下: 1.分页可以提高客户体验度,适当地选择合适的数据条数,让页面显得更有条理,使得用户体验感良好,避免过多数据的冗余. 2.提高性能的需要. ...
- java简单的实现搜索框的下拉显示相关搜索功能
最近做了一个简单的搜索框下面下拉显示相关搜索的功能,有点模仿百度的下拉展示相关搜索 先上个展示图 : 点击进入演示地址,大家可以输入长点的搜索,点击搜索,再输入之前搜索词的前面部分,看是否能展示出来 ...
- ElasticSearch(五):简单的ElasticSearch搜索功能
这里主要是一些简单的ElasticSearch的搜索功能,复杂的搜索,比如过滤,聚合等以后单独在写 1. 搜索全部 GET book/_search 直接搜索全部,下面是对搜索结果的详细介绍:默认情况 ...
- jQuery的select2下拉框的搜索功能(使用select2插件,方便简单)
第一步: 引入我们用使用的插件 jquery: select2: css: js: 第二步: 创建一个html页面,body内容: <div> <select class=" ...
- 用vue实现简单分页
在这个demo中,我用vue对一个json文件中的数据进行了简单的分页,没用用到交互,一下是我的实现过程. 基础逻辑 1.将json文件引入app.vue,并作为data返回 data(){ var ...
- yii2下拉框带搜索功能
简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程.作者:白狼 出处:http://www.manks.top/yii2_dropdown_search.html ...
- 用vue实现简单实时汇率计算功能
最近在自己摸索vue的使用,因为相对于只是去看教程和实例,感觉不如自己动手写一个demo入门来的快.刚好看到小程序中有一个简单但是很精致的应用极简汇率,而且它的表现形式和vue的表现形式很像,于是想着 ...
- 使用node+vue实现简单的WebSocket聊天功能
最近学习了一下websocket的即时通信,感觉非常的强大,这里我用node启动了一个服务进行websocket链接,然后再vue的view里面进行了链接,进行通信,废话不多说,直接上代码吧, 首先, ...
- Vue几行代码实现搜索功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- codevs 1126 数字统计 2010年NOIP全国联赛普及组 x
题目描述 Description 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21 ...
- 157. [USACO Nov07] 奶牛跨栏(第三次考试大整理)
157. [USACO Nov07] 奶牛跨栏 输入文件:hurdles.in 输出文件:hurdles.out 简单对比 时间限制:1 s 内存限制:128 MB 译 by CmYkRg ...
- Elastic-Job介绍
1 什么是分布式任务调度 什么是分布式?当前软件的架构正在逐步转变为分布式架构,将单体结构分为若干服务,服务之间通过网络交互来完成用户的业务处理,如下图,电商系统为分布式架构,由订单服务.商品服务.用 ...
- ex1.c 补
表达式和符号运用生疏 经常少符号
- (C#- 多线程) 在线程中创建object,共享问题。
研究如下问题: 1. 在一个进程的主线程中创建一个Object,其他线程都可以访问这个Object,并操作Object的方法. - 多线程同步问题. 2. 在一个进程的多个线程里面,每个线程都创建同一 ...
- Spring Boot教程(十六)属性配置文件详解(1)
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...
- linux系统安装Oracle11g详细步骤
快速安装指引 ■Reviewing Information About This Guide■Logging In to the System as root 以root用户登录系统■Checking ...
- 通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使 ...
- 通过构造器配置Bean
public class Role { private Log id; private String roleName; private String note; public Role(String ...
- 项目三、文件上传器v1.1
/** * 自定义文件上传工具 v1.1 * @param url 路径 */ function fileUploader(url) { var _date = new Date(); //日期 th ...