最近利用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下简单分页及搜索功能的更多相关文章

  1. 原生javascript实现分页效果+搜索功能

    一.概述 首先,我们要明确为何需要分页技术,主要原因有以下: 1.分页可以提高客户体验度,适当地选择合适的数据条数,让页面显得更有条理,使得用户体验感良好,避免过多数据的冗余. 2.提高性能的需要. ...

  2. java简单的实现搜索框的下拉显示相关搜索功能

    最近做了一个简单的搜索框下面下拉显示相关搜索的功能,有点模仿百度的下拉展示相关搜索 先上个展示图 : 点击进入演示地址,大家可以输入长点的搜索,点击搜索,再输入之前搜索词的前面部分,看是否能展示出来 ...

  3. ElasticSearch(五):简单的ElasticSearch搜索功能

    这里主要是一些简单的ElasticSearch的搜索功能,复杂的搜索,比如过滤,聚合等以后单独在写 1. 搜索全部 GET book/_search 直接搜索全部,下面是对搜索结果的详细介绍:默认情况 ...

  4. jQuery的select2下拉框的搜索功能(使用select2插件,方便简单)

    第一步: 引入我们用使用的插件 jquery: select2: css: js: 第二步: 创建一个html页面,body内容: <div> <select class=" ...

  5. 用vue实现简单分页

    在这个demo中,我用vue对一个json文件中的数据进行了简单的分页,没用用到交互,一下是我的实现过程. 基础逻辑 1.将json文件引入app.vue,并作为data返回 data(){ var ...

  6. yii2下拉框带搜索功能

    简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程.作者:白狼 出处:http://www.manks.top/yii2_dropdown_search.html ...

  7. 用vue实现简单实时汇率计算功能

    最近在自己摸索vue的使用,因为相对于只是去看教程和实例,感觉不如自己动手写一个demo入门来的快.刚好看到小程序中有一个简单但是很精致的应用极简汇率,而且它的表现形式和vue的表现形式很像,于是想着 ...

  8. 使用node+vue实现简单的WebSocket聊天功能

    最近学习了一下websocket的即时通信,感觉非常的强大,这里我用node启动了一个服务进行websocket链接,然后再vue的view里面进行了链接,进行通信,废话不多说,直接上代码吧, 首先, ...

  9. Vue几行代码实现搜索功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. CodeChef DGCD Dynamic GCD

    CodeChef题面 Time limit 210 ms Code length Limit //内存限制也不说一下,真是的-- 50000 B OS Linux Language limit C, ...

  2. go语言系列--golang在windows上的安装和开发环境goland的配置

    在windows上安装golang软件 golang中国网址为:https://studygolang.com/dl 我的学习选择版本:1.12.5 golang 1.12.5版本更新的内容:gola ...

  3. [BZOJ2987]Earthquake:类欧几里得算法

    分析 类欧的式子到底是谁推的啊怎么这么神仙啊orz! 简单说一下这道题,题目中的约束条件可以转化为: \[ y \leq \frac{c-ax}{b} \] 有负数怎么办啊?转化一下: \[ y \l ...

  4. 综合KPI报表历史明细数据查询

    一.综合计划部KPI明细数据查询--xigu用户要求:需显示第三季度,即789三个月的明细数据解决方法:1.查看SSISC:\Users\Administrator\Documents\Visual ...

  5. Spotlight_on_mysql 安装和监控

    一.下载 1.下载并安装 mysql-connector-3.51.30 2.下载并安装 Quest_Spotlight-on-MySQL_80.exe 二.填写注册码 Authorization K ...

  6. Http请求详解(转)----请求+响应各字段详解

    参考HTTP深入浅出http请求(转)-----http请求的过程和实现机制 1. HTTP请求格式 首先介绍HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protoc ...

  7. bootstraptable表格columns 隐藏方法

    隐藏:  visible: false,   显示:visible: true, visible属性没有true或者false,是visible,invisible和gone.visible:可见的: ...

  8. tomcat的work目录的作用

    最近发现,很多网友喜欢把tomcat的work目录里的东西叫做缓存,其实那不是很恰当,work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它 ...

  9. 提示标签title折行

    使用代码换行共两种代码,均可实现html标签内title内容显示时换行.换行代码符分别为:“ ”和“ ”以上符合数字输入均必须英文半角模式输入.使用时候,在需要换行地方任选一种(组)换行符号代码即可.

  10. MYSQL5.6源码包编译安装

    linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...