vue的分页我一共获取了total=12条数据每页设置显示10条,为什么点击第二个页码的时候是没有

<template>

<el-main>


<h1>学校通知</h1>

<ul>

  <li v-for='news in tableData'><router-link :to="'/schoolnotice/'+news.newsID">{{news.title}}</router-link><span>{{news.publishTime}}</span></li>

</ul>

        **分页**

<el-pagination

  layout="prev, pager, next"

  :total="total"

  :page-size="10"

  @current-change="handleCurrentChange"

>

</el-pagination>

</el-main>

</template>


<script>

export default {

data() {


return {

  newsList:[],

  total:{},

  tableData: [], //表格显示数据

  allData: [], //总数据

}

},


**获取数据**

mounted () {


const that = this;

console.log(that);

this.$http.get(

  that.$interface+'getArticlePages?categoryId=2'

)

  .then(function (response) {

    if(response.data.status === 1){

      response.data.data.list.forEach(function(item){

        that.allData.push({

          title:item.title,

          publishTime:item.publishdate,

          newsID:item.articleid,

        });

        that.total = response.data.data.total;

                    **从allData获取数据到tableData** 

        that.tableData = that.allData.slice(0, 10);

        console.log(that.total);

      });

    }else{

      that.$message({

        message: response.data.msg,

        type: 'warning'

      });

    }

  })

  .catch(function (err) {

    console.log(err);

    that.$message({

      message: '数据 error',

      type: 'warning'

    })

  });

}, 页码点击事件

methods:{


handleCurrentChange(val) {  //当前页

  console.log(val);

  this.tableData = this.allData.slice((val - 1) * 10, 10 * val);

}

}

https://img3.mukewang.com/5ca45aa00001d14108000534.jpg

https://img4.mukewang.com/5ca45aa00001bb8107020341.jpg

https://img1.mukewang.com/5ca45aa100011d4100710057.jpg

呼啦一阵风
浏览 9910回答 5
5回答

莫回无

找你们后端,如果是做前端分页让他返回所有数据,也很可能是后端分页而你们没对清楚接口response.data.data.list.forEach(function(item){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(that.total);//打印了10次12&nbsp;意思是list长度本来就是10});为什么要在list.forEach里面push,如果你只是想格式化数组用map。更不要在forEach里重复的执行无用的&nbsp;that.total = ...和&nbsp;that.tableData = ...,10次循环前面9次都是无用的赋值。

qq_遁去的一_1

切换到第二页的时候,检查下tableData是不是剩下的那两条数据

慕田峪7331174

------------ update撤回之前的回答, 我看错了。汗会不会接口返回的就是 10条数据?

胡说叔叔

看一下你的allData是多少条数据

慕桂英546537

应该后台接口有问题,total和list不匹配
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript