结合el-input、el-select实现纯前端过滤树形el-table数据

样式图示

1.搜索实现方法

bash 复制代码
const searchBtn = async () => {
    // 获取table列表数据接口
    const res = await Api.menuList({paging: false})
    if (res.code === 200) {
        // 把树形结构转成扁平结构
        let result = treeToArray(res.data)
        // 处理搜索框中数据进行table显示项过滤
        if(commonData.searchParams.menuName || commonData.searchParams.menuCode || commonData.searchParams.status ) {
            // 过滤后给el-table重新赋值
            commonData.tableData = result.filter(item => {
                /**
                 * menuName 搜索框名称数据项
                 * menuCode 搜索框编码数据项
                 * status 搜索框普通用户数据项
                 */
                const {menuName, menuCode, status} = commonData.searchParams
                const isMenuName = menuName ?  item.menuName.includes(menuName):true
                const isMenuCode = menuCode?  item.menuCode.includes(menuCode):true
                // item.status == status 次数判断是因为 status只会出现 1 或者 2
                const isStatus = status ? item.status == status :true
                return isMenuName && isMenuCode && isStatus
            })
            // 调用方法让table树形结构展开
            unfoldBtn()
        } else {
            // 重新加载table数据接口
            loadData()
        }
    }
}

2.过滤后实现效果

相关推荐
Csvn1 小时前
并发模式:让渲染学会排队、插队和让路
前端
可乐鸡翅yeah_2 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt2 小时前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
JavaGuide3 小时前
NVIDIA 又开源了!这次给 AI Agent 加上权限管控
前端·后端
excel3 小时前
prisma 如何处理数据库竞态
前端·数据库·后端
莪_幻尘4 小时前
Skill 体检:30 个 Skill 全凭感觉?体检器先自曝了 8 个“假 0 分
前端·人工智能·llm
风骏时光牛马4 小时前
AI模型综合能力评测:性能、指令遵循与多场景实测对比
前端
Frag0ut4 小时前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
hiahiahia1235 小时前
实现完整 Tool Dispatcher
开发语言·前端
IT_陈寒5 小时前
Java线程池这破玩意,差点让我周末加班排查到凌晨
前端·人工智能·后端