vue分页父传子报错 Avoid mutating ......Prop being mutated: "pageNum"

发布于 2022-09-11 23:13:09 字数 1785 浏览 23 评论 0

父组件

<template>
  <message :list="list" :sendData="total" :pageNum="pageNum" :pageSize="pageSize" @start="startData"
           @end="endData"></message>
</template>

<script>
  import Qs from 'qs';
  import {getSendMsgPage} from '../../api/api'
  import message from './components/message'

  export default {
    name: 'allMessage',
    components: {message},
    data() {
      return {
        total: 0,
        list: [],
        startData: '',
        endData: '',
        pageNum: 1,
        pageSize: 10,
        TempParams: {
          "pageNum": 1,
          "pageSize": 10,
          "condition": {
            "userId": "1",
            "startTime": this.startData,
            "endTime": this.endData,
            "nickName": "",
            "title": "",
            "generalView": ""
          }
        }
      }
    },

    mounted() {
      this.getMsg();
    },

    methods: {
      getMsg() {
        let params = JSON.stringify(this.TempParams);
        getSendMsgPage(params).then(res => {
          console.log(res);
          let collectData = res.data.data.list;
          if (res.data.code === 0) {
            this.pageNum = res.data.data.pageNum;
            this.pageSize = res.data.data.pageSize;
            this.list = collectData;
            this.total = res.data.data.total;
          }
        })
      }
    }
  }
</script>

子组件

<el-pagination background layout="prev, pager, next" :total="sendData" @current-change="handleCurrentChange"
                       :page-size="pageSize" :current-page.sync="curNum" ></el-pagination>

props: {
      list: Array,
      sendData: Number,
      pageSize: Number,
      pageNum: Number,
    } ,

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

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

发布评论

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

评论(1

吃颗糖壮壮胆 2022-09-18 23:13:09

你这是在在子组件里面对pageNum进行了更改吧,props构成的父子组件间是一条单向数据流的,防止从子组件意外改变父级组件的状态。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文