开发时遇到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;
})
})
本文介绍了在开发过程中遇到的一个问题,即使用Echarts的路径图与Element UI的分页组件结合时,点击图中节点无法正确触发分页组件的next功能。问题在于手动设置page=1无法刷新分页。解决方案是通过在父组件上添加v-if,利用v-if的真假切换强制刷新分页组件。在节点点击事件中将v-if设为false,请求数据后在$nextTick中设回true,从而实现分页组件的刷新。
3195

被折叠的 条评论
为什么被折叠?



