最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
解决iview多表头动态更改列元素发生的错误的方法
时间:2018-11-07 编辑:猪哥 来源:一聚教程网
解决iview 'You may have an infinite update loop in watcher with expression "columns"'
解决方案
单表头是可以动态变化不需要增添什么东西
多表头目前iview尚不能动态变化,会报错You may have an infinite update loop in watcher with expression "columns"
解决方法是github大神提供的:需要修改iview.js源码
将iview.js中
columns: { handler: function handler() { var colsWithId = this.makeColumnsId(this.columns); his.allColumns = (0, _util.getAllColumns)(colsWithId); this.cloneColumns = this.makeColumns(colsWithId); this.columnRows = this.makeColumnRows(false, colsWithId); this.leftFixedColumnRows = this.makeColumnRows('left', colsWithId); this.rightFixedColumnRows = this.makeColumnRows('right', colsWithId); this.rebuildData = this.makeDataWithSortAndFilter(); this.handleResize(); }, deep: true },
修改为
columns: { handler: function handler() { //[Fix Bug]You may have an infinite update loop in watcher with expression "columns" var tempClonedColumns = (0, _assist.deepCopy)(this.columns); var colsWithId = this.makeColumnsId(tempClonedColumns); //[Fix Bug End] this.allColumns = (0, _util.getAllColumns)(colsWithId); this.cloneColumns = this.makeColumns(colsWithId); this.columnRows = this.makeColumnRows(false, colsWithId); this.leftFixedColumnRows = this.makeColumnRows('left', colsWithId); this.rightFixedColumnRows = this.makeColumnRows('right', colsWithId); this.rebuildData = this.makeDataWithSortAndFilter(); this.handleResize(); }, deep: true },
demo
单表头:多表头:
相关文章
- js实现音乐播放器代码展示 10-12
- js实现图片查看器代码展示 10-12
- JS中switch的四种写法介绍 10-12
- js实现新闻轮播效果教程 10-11
- JS实现简单的图片切换功能教程 10-11
- js实现下拉刷新和上拉加载解析 09-28