1.html部分使用了element的组件
<template>
<div>
<el-table :data="search(input_box)"></el-table>
<el-pagination
:total="pagesizeCount"
:page-size="pagesize"
:current-page.sync="currpage"
@current-change="getNewlist(currpage)"
></el-pagination>
</div>
</template>
2.js部分
<script>
export default {
data() {
return {
tableData: [],
input_box: "",
currpage: 1,
pagesize: 10,
pagesizeCount: 0,
proptype: ""
};
},
mounted(){
this.getList();
},
methods: {
getList() {
this.$axios.get("api").then(res=>{ this.tableDate = res.data })
},
search(input) {
if (input == "") {
this.pagesizeCount = this.tableData.length;
return this.tableData.slice((this.currpage - 1) * this.pagesize,this.currpage * this.pagesize);
} else {
var newtable = this.tableData.filter(item => {
if (JSON.stringify(item.descrip).includes(input)) {
return item;
}
});
this.pagesizeCount = newtable.length;
return newtable.slice((this.currpage - 1) * this.pagesize,this.currpage * this.pagesize);
}
},
getNewlist(cpage) {
this.currpage = cpage;
},
}
};
</script>