<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
<style>
*{
margin: 0;
padding: 0;
}
.footer{
display: flex;
}
.pagema{
padding: 0 10px;
}
</style>
</head>
<body>
<div id="app">
<table border="1" cellspacing="0" cellpadding="0">
<thead>
<tr>
<td>ID</td>
<td>姓名</td>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in list.slice((this.pagenow-1)*this.pagerow,this.pagenow*this.pagerow)" :key="index">
<td>{{item.id}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
</table>
<div class="footer">
<div @click="nextpage">上一页</div>
<div v-for="(item, index) in pagema" :key="index" class="pagema" @click="pagemas(item)">{{item}}</div>
<div @click="underpage">下一页</div>
</div>
{{totalall}}
</div>
</body>
<script>
new Vue({
el:'#app',
data:{
list:[
{id:1,name:'张三'},
{id:2,name:'李四'},
{id:3,name:'王五'},
{id:4,name:'赵六'},
{id:5,name:'王七'},
{id:6,name:'苏八'},
{id:7,name:'阿九'},
{id:8,name:'张二'},
],
pagenow:1,//当前页
total:0,//一共多少页
pagerow:2,//每页多少条
pagema:[],//页码
},
methods: {
//点击页码
pagemas(idx){
this.pagenow = idx
},
//点击上一页
nextpage(){
if(this.pagenow>1){
this.pagenow--
}
},
//点击下一页
underpage(){
if(this.pagenow<this.total){
this.pagenow++
console.log();
}
}
},
computed: {
totalall () {
this.total = Math.ceil(this.list.length/this.pagerow)
for (let i = 1; i <= this.total; i++) {
this.pagema.push(i)
}
},
},
})
</script>
</html>
vue实现原生分页
于 2023-02-17 08:06:33 首次发布