element UI中分页组件更新问题

分页组件

<template>
	<el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[100, 200, 300, 400]"
      :page-size="100"
      layout="total, sizes, prev, pager, next, jumper"
      :total="400">
    </el-pagination>
</template>
<script>
  export default {
    methods: {
      handleSizeChange(val) {
        console.log(`每页 ${val} 条`);
      },
      handleCurrentChange(val) {
        console.log(`当前页: ${val}`);
      }
    },
    data() {
      return {
        currentPage: 5
      };
    }
  }
</script>

改变分页

如果我们想改变current-page绑定的值,在运行中改变,不是在定义时,那么你可能会这么写:

mounted():{
	this.changeCurrent()
},
methods:{
	changeCurrent(){
		this.currentPape = 6
	}
}

实际效果

可能并非如你所愿,运行中改变了currentPage,但是挂载时采用的是原始currentPage,即定义时的值。在mounted中改变的值,是在nextTick才会生效,不是在本次加载时生效。

修改变化

created(){
	this.changeCurrent()
}

修改变化的时间节点,我们采用在组件生成之后未挂载之前进行改变,那么加载之后就是我们变化后的值。

总结

理解vue组件生命期,对于动态变化的逻辑很有帮助。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值