vue分页数据,新增数据时它只在分页的第一个页面新增出来了。

发布于 2022-09-12 04:25:10 字数 1303 浏览 16 评论 0

[J5Q7U4M04$WL}4~A(2JO0B.png
打比这个是我的接口数据,然后我getData函数把数据传给了this.form让它传给了页面并且渲染出来了这些数据,然后这些数据的分页功能也实现了,可是我新增数据之后,数据没有渲染出来。
我想让这个数据可以在我处理数据的时候变更然后再加到列表最后里,页面分页也是在最后,该怎么做?

//////////////////////////////////////////////////////////////
我的数据接收过了,每次在我点击分页之后才会打印出来,而且不能渲染出新的数据
image.png

这个add新增是子组件的保存方法。
image.png
子组件
image.png
image.png
子组件保存
image.png
子组件接收
image.png

这个数据在我父组件页面什么也没做的时候也直接打印出来了,这是正常的吗?

image.png

这是新增
image.png
数据处理
image.png
这里分页处理本来初始数据四条,添加新数据后,每当我改变页数打印出来的数据就是五条。
我这里else的添加改成了楼下给我写的this.form = this.reportList.map((item) => item);之后不会出现在第一页加数据的情况了。
image.png
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浴红衣 2022-09-19 04:25:10

感觉少贴了一些代码,也不能全看出来,就先猜测一个:
什么都没做就打印出来:
你的列表展示的数据是在mounted里调用getData方法来的,应该是因为getData里调用了add方法。


本来每页两条数据,现在突然变成了三条四条,每次增加都会更多:
有可能是因为你的this.form和this.reportList指向了同一个,所以this.reportList增加了,你的页面上也就增加了一条


杯别 2022-09-19 04:25:10

首先,getData()里面的this.add()去掉;当数据总数小于每页显示的条数时,循环reportList数据添加到form中,代码如下:

getData() {
    this.totalItems = this.reportList.length;
    if (this.totalItems > this.pageSize) {
        for (let index = 0; index < this.pageSize; index++) {
            this.form.push(this.reportList[index]);
        }
    } else {
        this.form = this.reportList.map(item => item);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文