开发时遇到next时无请求且没触发current-change事件记录
- 开发背景
需求为一个页面内左侧为思维导图,右边为表格;实现功能:点击节点可以在表格内展现对应数据;
- 实现方式
思维导图采用了echarts的路径图,期间有遇到节点重叠问题(下篇文章给出解决方案);表格和分页日常用element的。
- 开发问题复现
此问题是因为需要在点击节点时请求对应节点数据,而我在current-change中做了如下操作:
tableCurrentChange(curr){
this.queryForm.page = curr;
this.queryTableData()
}
为了能在点击新节点时请求第一页数据(page:1):
myChart.on("click",(params) => {
this.queryForm.page = 1;
this.querTableData()
}
这样就造成了切换新节点时点击next时无效,问题出现是因为手动设置page=1是无法刷新分页组件的
- 解决方法
通过给分页组件的父标签添加v-if来使他强制刷新(v-if=“paginationShow”),初始为true,在点击事件和请求中做操作
//节点点击事件中
myChart.on("click",(params) => {
this.paginationShow = false;
this.queryForm.page = 1;
this.querTableData()
}
//请求成功后
.then((res)=>{
this.$nextTick(res=>{
this.paginationShow = true;
})
})