iview的快速跳转到某一页,需要按enter才会执行。这里效果不太友好
所以这里我就添加了一个跳转的按钮“确定”,
<div class="view">
<Page id="pageId" ref="myPage" class="paging" :total="total" :current="pageIndex"
@on-change="pageChange($event)" @on-page-size-change="pageSizeChange($event)"
show-elevator show-sizer show-total/>
<Button class="btn-page" type="primary" @click="goPage">确定</Button>
</div>
这个是跳转的“确定”按钮,判断了最小页数及最大页数
methods: {
pageChange(event) {
this.$emit("pageChange", event);
},
pageSizeChange(event) {
this.pageSize = event;
this.$emit("pageSizeChange", event);
},
goPage() {
let max = Math.ceil(this.total / this.pageSize);
let min = 1;
let thisPage = document.getElementById('pageId');
let elevtorDiv = thisPage.getElementsByClassName("ivu-page-options-elevator");
if (elevtorDiv && elevtorDiv.length > 0) {
let pageInput = elevtorDiv[0].getElementsByTagName("input")[0];
let event = Number(pageInput.value);
if (event > max) {
this.current = max;
event = max;
pageInput.value = max;
} else if (event < min) {
this.current = min;
event = min;
pageInput.value = min;
} else {
event = Math.floor(event);
this.current = event;
pageInput.value = event;
}
this.pageChange(event);
}
},
}
.parent {
width:fit-content;
margin:0 auto;
.pageId{
float: left;
}
.btn-page {
float: left;
}
}