详解vue修改elementUI的分页组件视图没更新问题


Posted in Javascript onNovember 13, 2020

今天遇到一个小问题平时没留意,el-pagination这个分页组件有一个属性是current-page当前页。

今天想在methods里面手动修改他绑定的变量从而达到修改页码的效果,结果发现分页组件视图并没有渲染,还是停留在原本的页码处。

然后想了想,想起了.sync这个语法糖,让数据进行双向绑定。

直接上修改的代码看看

<el-pagination
  :current-page.sync="currentPage"
  :page-sizes="[10, 30, 50]"
  :page-size="pageSize"
  :total="total"
  layout="total, sizes, prev, pager, next, jumper"
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
/>
refresh () {
 this.handleCurrentChange(1)
 this.currentPage = 1
}

具体原因我想了一下,可能是因为修改this.currentPage,分页组件没办法通知父组件视图更新,所以添加了.sync修饰符使得子组件能和父组件进行沟通,从而实现双向绑定,父组件获取到更新后的值重新渲染页面。

element-ui 接口返回有数据但是视图没有更新

前言:一般情况下,接口有数据返回,但相应的视图不更新,只会有两种情况:
1.在这个数据要更新之前有报错或者有不严谨的判断。
2.vue 对象、数组不能深层监听。

一、排查有无不严谨的判断和报错。

二、vue 对象不允许在已创建的的实例上动态添加新的根级响应式属性 。(参考vue官网)
如果非要这么做的话,我们可以使用 this.$set()。

this.$set() 可以接收三个参数 1. 要绑字的数据。 2. 要添加或修改的属性名称。 3. 要赋的值

this.$set(this.projectList, 'projectName', 'chenxuemin')

三、手动更新视图

它可以影响到本实例及本实中的 slot 插槽内容

this.$forceUpdate() // vm.$forceUpdate()

到此这篇关于详解vue修改elementUI的分页组件视图没更新问题的文章就介绍到这了,更多相关vue element分页组件视图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
javascript代码编写需要注意的7个小细节小结
Sep 21 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
给事件响应函数传参数的四种方式小结
Dec 05 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
js中apply与call简单用法详解
Nov 06 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
vue实现微信分享功能
Nov 28 Javascript
微信小程序中使用vant框架的具体步骤
Feb 18 Javascript
Vue实现boradcast和dispatch的示例
Nov 13 #Javascript
Vue 列表页带参数进详情页的操作(router-link)
Nov 13 #Javascript
Vue 3.0中jsx语法的使用
Nov 13 #Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
Nov 13 #Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 #Javascript
PHP 502bad gateway原因及解决方案
Nov 13 #Javascript
解决iview table组件里的 固定列 表格不自适应的问题
Nov 13 #Javascript
You might like
PHP Array交叉表实现代码
2010/08/05 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php下获取http状态的实现代码
2014/05/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
JS 控件事件小结
2012/10/31 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
npm qs模块使用详解
2020/02/07 Javascript
python装饰器使用方法实例
2013/11/21 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
numpy返回array中元素的index方法
2018/06/27 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
AUC计算方法与Python实现代码
2020/02/28 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
python定时截屏实现
2020/11/02 Python
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
2014年小学校长工作总结
2014/12/08 职场文书
党委工作总结2015
2015/04/27 职场文书
法律意见书范文
2015/06/04 职场文书
Django REST framework 限流功能的使用
2021/06/24 Python
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android