el-table 树状表格查询符合条件的数据

需要对el-table的树状表格根据输入机构名称,筛选出符合条件的数据,可用如下方法:

页面内容如下:

html 复制代码
<el-input v-model="ogeName" placeholder="请输入机构名称">

<el-table :data="list" row-key="id" :tree-props="{children:'children',hasChildren:'hasChildren'">
    <el-table-column label="机构名称" prop="attributes.org_name"></el-table-column>
</el-table>

数据格式如下:

javascript 复制代码
   data() {
      return {
        data: [{
          attributes:[org_name:'1'],
          hasChildren: true,
          label: '一级 1',
          children: [{
            attributes:[org_name:'1'],
            hasChildren: true,
            label: '二级 1-1',
            children: [{
              attributes:[org_name:'1'],
              hasChildren: false,
              label: '三级 1-1-1'
            }]
          }]
        }],
      };
    },

具体筛选方法如下:

javascript 复制代码
// 查询
handleSearch() {
    let list = this.list
    let lastList = this.handleTreeData(list,this.orgName)
    this.list = lastList
}
// 筛选数据
handleTreeData(treeData,filterValue) {
    if (!treeData || treeData.length !== 0) {
        return []
    }
    const data = []
    for (let i = 0; i < treeData.length; i++) {
        let match = false
        for (const pro in treeDate[i]) {
            if (pro === 'label') {
                match |= treeData[i][pro].includes(filterValue)
                if (match) break
            }
        if (this.handleTreeData(treeData[i].children,filterValue).length > 0 || match) {
            data.push({ ...treeData[i],children: this.handleTreeData(treeData[i].children,filterValue})
        }
        return data
}
相关推荐
Mr_Mao12 小时前
告别选型困难!集 VueUse、ahooks、Mantine 于一身:286 个 Hook 的 ReaUse 来了
前端·javascript·react.js
qwfy13 小时前
我要用 AI-native 架构,从零重建一套制造业 ERP/MES
vue.js·spring boot·架构
默_笙13 小时前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
dsyyyyy110114 小时前
Vue 3 Watch 监视完全指南
前端·javascript·vue.js
瞬时出道15 小时前
AI 回答为什么能一个字一个字蹦出来?前端搞懂 SSE 这一篇就够了
vue.js
u01110267516 小时前
Vue 3 实现图片裁剪框:拖动、缩放与固定宽高比
前端·javascript·vue.js
小小善后师17 小时前
用 Canvas + AI 实现登录页的 Logo 粒子动画
前端·vue.js
0nirvana017 小时前
从普通 script 到 ESM:一文搞懂 JavaScript 模块、IIFE 和 window
javascript
wshzd18 小时前
LLM之Agent(104)|DeepSeek-Harness(十三)ReactLoopAgent 总览:kick → turn → step
开发语言·前端·javascript
web打印社区18 小时前
远程打印:WebSocket 与 HTTP 轮询怎么选
前端·vue.js·websocket·网络协议·http·electron·pdf