提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
先说一下我这个功能的需求,页面使用el-table展示的树形结构,默认是不展开的。在搜索后,展开搜索到的节点。
实现
el-table中有一个toggleRowExpansion()方法。控制当前行展开关闭。具体使用方法参考官方文档
搜索方法代码
inputQuery() {
this.queryParams.pagination = { pageNum: 1, pageSize: 10 }
clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.getList()
if (this.queryParams.warehouseName != "") {
//如果搜索的词部位空,调用展开结构的方法,第二个参数传true默认展开结构
this.tableExpand(this.tableData, true);
}
}, 2000);
},
用递归的方案展开结构的方法
tableExpand(data, flag) {
data.forEach(item => {
//用ref获取table表格,进行展开结构
this.$refs.dataTreeList.toggleRowExpansion(item, flag);
//如果存在children 并且长度大于0
if (item.children && item.children.length > 0) {
//递归进行展开结构
this.tableExpand(item.children, flag);
} else {
return
}
})
},