很多时候,我们会有一些需求,涉及到多表格,前端也不知道到底有多少个,通过后端传递数据,以及column时,前端会有两种操作:
- 非循环处理,也就是根据后端传递的length来取决于前端显示几个表格(会写很多表格出来,根据v-if判断是否显示),这样的话会有很大的局限性,我根本不知道后端会传递几个,如果是五个的话,里面写十个表格的代码就会造成性能不好;
- 循环处理,在循环处理的时候,因为分页器handleSizeChange和handleCurrentChange两种方法都没有传递参数,下面方法的回调参数是改变值,直接赋予就行,如果想用这种的话,就必须改变能够这两种传递的参数问题
解决办法:在handleCurrentChange和handleSizeChange传递参数时,拿到本来应该不传递时候的参数作为第一个参数,后面跟着一个循环的index参数作为第二个参数,就解决了这个问题
// 解决循环时无法传递循环参数问题解决办法
// $event在size改变传递的是一页多少条,比如30 50,在current改变时传递的是第几页
@size-change="handleSizeChange($event,index)"
@current-change="handleCurrentChange($event,index)"
handleSizeChange(val, index) { // 表格每页显示条数
// console.log(`每页 ${val} 条`)
// paginationObj是一个对象,里面放置很多个pagination对象,pagination0代表下标为0等
this.paginationObj['pagination' + index]['currentPage'] = 1
this.paginationObj['pagination' + index]['pageSize'] = val
},
// 参数解决完毕可以再去调用接口,因为我这里是前端分页,所以没有再调用