show-data页面
后台数据获取
通过路由将获取数据传递给页面
## index.page
//传递返回数据和关键字
this.$router.push({name:"showData",params:{"reponsData":reponse.result,"searchKeyword":reponse.keyword}});
## show-data page
props: ['reponsData'],
对数据进行分页展示
定义好一系列的计算属性,和用于展示的数据数组
data() {
return {
currentPage:1,
}
},
computed: {
//用于展示分页数据的数组
tableReponsData(){
var startIndex=(this.currentPage-1)*this.pageSize;
var endIndex=this.currentPage*this.pageSize;
if(this.$props.reponsData){
return this.$props.reponsData.slice(startIndex,endIndex);
}else{
return []
}
},
searchKeyword(){
if(this.$route.params.searchKeyword){
return this.$route.params.searchKeyword
}else{
return "No keyword is submit"
}
},
//设置展示数据的总条数
reponseDataCount(){
return this.$props.reponsData ? this.$props.reponsData.length:0;
},
//对于单页数据不显示分页
handleSinglePage(){
if(this.reponseDataCount<=this.pageSize){
return true
}else{
return false
}
},
//针对不同设备设置每页显示条目数目
pageSize(){
if(window.innerHeight<=650){
return 3
}else if(window.innerHeight<=1000){
return 6
}else{
return 8
}
}
},
分页中绑定对应的计算属性
<el-row class="result-page" >
<el-pagination
:hide-on-single-page="handleSinglePage"
:page-size="pageSize"
@current-change="handlecurrentPage"
layout="prev, pager, next"
background :total="reponseDataCount">
</el-pagination>
页码改变时调用对应的函数
页码改变时,将data中的页面改变,之后计算属性中会对要渲染的数据同步改变
methods: {
handlecurrentPage(val) {
this.currentPage=val
}
},
Last updated