iview+vue查询分页实现
本文为实战坑记录
子组件(共用的搜索组件)
<template>
<div>
<h2>{{pdbTitle}}</h2>
<Form ref="searchform" :model="applysearchData" :label-width="120" inline>
<FormItem :label="labelName.srch1" prop="id">
<i-input v-model="applysearchData.id"/>
</FormItem>
// 注意:特意写一下这个select组件
// 这个地方select status选项要在搜索的时候对绑定的值进行特殊处理(重置为 ''),不然在搜索的时候会是undefined
<FormItem :label="labelName.srch2" prop="status">
<Select v-model="applysearchData.status">
<Option value="100">a</Option>
<Option value="200">b</Option>
<Option value="300">c</Option>
</Select>
</FormItem>
<FormItem>
<Button @click="searchInfo('searchform')">查询</Button>
<Button @click="handleReset('searchform')">清除条件</Button>
</FormItem/>
</Form>
</div>
</template>
<script>
export default {
// 接收父组件传递过来的搜索参数
props:{
pdbTitle:{
type:String
},
applysearchData:{
type:Object
}
},
watch:{
// 注意:seletct组件的status值为undefined的时候需要把它重置为空字符串,这样搜索的时候才会成功
// 因为此处的表单的值为父组件传递过来的,所以要在父组件中去修改status
'applysearchData.status'(newValue,oldValue){
if(newValue === undefined){
this.$emit('changeStatus')
}
},
// 在切换页码的时候监听查询表单数据的变化,如果有变化需要把current重置为1
applysearchData:{
handler(a,b){
if(a){
this.$emit('changeCurrent')
}
},
deep:true
}
},
methods:{
// 搜索
searchInfo(applysearchform){
this.$emit('searchInfo');
},
// 重置,注意这里也要触发一下修改status的方法
handleReset(applysearchform){
this.$refs[applysearchform].resetFields();
this.$emit('changeStatus')
}
}
}
</script>
父组件:
<template>
<search-form :pdbTitle="pdbTitle" :labelName="labelName" @searchInfo="searchInfo" :applysearchData="applysearchData" @changeStatus="changeStatus" @changeCurrent="changeCurrent"></search-form>
<Page :total="searchPages.total" :current="searchPages.current" :page-size="searchPages.size" show-elevator show-total @on-change="initChangePage"/>
<Table :loading="loading" border :columns="columns" :data="tableData"/>
</template>
<script>
import searchFrom from './searchForm'
export default {
components:{
searchForm
},
data(){
return {
columns:[....],
pdbTitle:'信息2',
// 搜索表单的数据
applysearchData:{
id:'',
status:'' // 为select的值,根据需求也可以给一个默认值
},
tableData:[],
searchPages:{
size:5,
total:0,
current:1
}
}
},
created(){
this.searchInfo()
},
methods:{
initChangePage(val){
this.searchPages.current = val
},
changeCurrent(){ // 关键点,把当前也设置为1
this.searchPages.current = 1
},
changeStatus(){ // 关键点,处理status
this.applysearchData.status = ''
},
searchInfo(){
// 发送请求获取数据
}
}
}
</script>
iview+vue查询分页实现的更多相关文章
- 基于vue的分页插件
相信大家用过很多jquery的分页插件,那这次就用一用基于vue的分页插件. 这里的环境用的是springboot 首先要引入pagehelper的jar文件,版本是1.2.3,配置文件也需要配置一下 ...
- 基于Vue封装分页组件
使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...
- mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写
sqlyog设置一直习惯用sqlyog来管理mysql数据库,但有三个地方用得不是很爽:1.默认查询条数只有1000条经常需要勾选掉重新查询.2.自动替换关键字大小写,有时候字段名为关键字的搞成大写的 ...
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- 查询分页的几种Sql写法
查询分页的几种Sql写法 摘自:http://www.cnblogs.com/zcttxs/archive/2012/04/01/2429151.html 1.创建测试环境,(插入100万条数据大概耗 ...
- MyBatis关联查询分页
背景:单表好说,假如是MySQL的话,直接limit就行了. 对于多对多或者一对多的情况,假如分页的对象不是所有结果集,而是对一边分页,那么可以采用子查询分页,再与另外一张表关联查询,比如: sele ...
- Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询
HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...
- lucene 查询+分页+排序
lucene 查询+分页+排序 1.定义一个工厂类 LuceneFactory 1 import java.io.IOException; 2 3 import org.apache.lucene.a ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
随机推荐
- 【风马一族_php】NO2_php基础知识
原文来自:http://www.cnblogs.com/sows/p/5995763.html (博客园的)风马一族 侵犯版本,后果自负 回顾 什么是php以及php的发展史 搭建web服务器 apa ...
- docker+jenkins的实现方式(ps.使用dockerfile的方式)!
继http://www.cnblogs.com/guilty/p/4747993.html之后. 前两天朋友问的,docker+jenkins整合. 我也没搞过,但是正好最近有空,我也很有兴趣,就搞一 ...
- Python学习之路9☞面向对象的程序设计
一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什么是面向对象的程序设计及为什么要有它 面向过 ...
- 开窗函数over()中partition by关键字解析
partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没 ...
- python 数据集变量的数据类型总结
- Gym - 101480K_K - Kernel Knights (DFS)
题意:有两队骑士各n人,每位骑士会挑战对方队伍的某一个位骑士. (可能相同) 要求找以一个区间s: 集合S中的骑士不会互相挑战. 每个集合外的骑士必定会被集合S内的某个骑士挑战. 题解:讲真被题目绕懵 ...
- 设置select和option的文字居中
select{ width: auto; padding: 0 1%; //左右一定要设置 margin: 0; } option{ text-align:center; }
- @codeforces - 1086F@ Forest Fires
目录 @description@ @solution@ @accepted code@ @details@ @description@ 一个无穷大的方格图,每个方格内都种了棵树. 一开始点燃了 n 棵 ...
- @NOIP2018 - D2T1@ 旅行
目录 @题目描述@ @题解@ @代码@ @题目描述@ 小 Y 是一个爱好旅行的 OIer.她来到 X 国,打算将各个城市都玩一遍. 小Y了解到, X国的 n 个城市之间有 m 条双向道路.每条双向道路 ...
- 模板—Kruskal
int getf(int x){return (f[x]==x)?x:f[x]=getf(f[x]);} void hb(int x,int y){x=getf(x),y=getf(y),f[y]=x ...