一. 創(chuàng)建Pagings.vue文件(子組件)
<template>
<div class="pagetion">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" background :current-page="offset"
:page-size="pageSize" :page-sizes="[5,10,20,30]" layout=" prev, pager, next, sizes,jumper"
:total="total">
</el-pagination>
</div>
</template>
<script type="text/ecmascript-6">
export default {
data() {
return {
}
},
props: {
total:{ // 總條目數(shù)
type: Number,
default: 1 //默認(rèn)值
},
pageSize:{ //每頁(yè)顯示條目個(gè)數(shù)
type: Number,
default: 1
},
offset:{ //當(dāng)前頁(yè)數(shù)
type: Number,
default: 1
},
},
methods: {
handleSizeChange(val) { //pageSize 改變時(shí)會(huì)觸發(fā)
this.$emit('handleSizeChangeSub', val);
},
handleCurrentChange(val) { //currentPage 改變時(shí)會(huì)觸發(fā)
this.$emit('handleCurrentChangeSub', val);
}
},
}
</script>
二.在需要頁(yè)面(父組件)引入Pagings.vue文件
<template>
<div>
<!-- 分頁(yè) -->
<div >
<Pagings :total="total" :offset="oAssEquipmentDto.offset" :pageSize="oAssEquipmentDto.pageNumber"
@handleSizeChangeSub="handleSizeChange" @handleCurrentChangeSub="handleCurrentChange"></Pagings>
</div>
</div>
</template>
<script>
import Pagings from '../../components/Pagings/index.vue'
import http from "../../service/power.js"; //不需要
const power = new http(); //不需要
export default {
data() {
return {
oAssEquipmentDto: {
offset: 1,
pageNumber: 5,
},
total: 1, //總條數(shù)
};
},
components: {
Pagings
},
created() {
this.power();
},
methods: {
power() {
//請(qǐng)求接口
power.powerStationList(this.oAssEquipmentDto).then(res => {
this.total = res.data.data.totalNum
this.oAssEquipmentDto.offset = res.data.data.pageNum;
this.oAssEquipmentDto.pageNumber = res.data.data.pageSize;
});
},
handleSizeChange(val) {
this.oAssEquipmentDto.pageNumber = val;
this.power();
},
handleCurrentChange(val) {
this.oAssEquipmentDto.offset = val;
this.power();
},
}
};
</script>