结合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.过滤后实现效果

相关推荐
前端OnTheRun6 分钟前
如何禁用项目中的ESLint配置?
javascript·vue.js·eslint
Felixwb66612 分钟前
Python 爬虫框架设计:类封装与工程化实践
前端
前端无涯13 分钟前
APP 内嵌 H5 复制功能实现:从现代 API 到兼容兜底方案
javascript
广州华水科技13 分钟前
潜力榜单2025年单北斗GNSS位移监测高口碑产品推荐
前端
xinyu_Jina15 分钟前
OpenNana 提示词图库:多模态数据检索、分面搜索与前端性能工程
前端
暴富的Tdy19 分钟前
【脚手架创建 Vue3 公共组件库】
前端·npm·npm发布
技术宅小温22 分钟前
< 前端大小事: 2025年近期CSDN前端技术热点分析 >
前端
知了清语26 分钟前
pkg.pr.new 快速验证第三方包-最新修复
前端
iFlow_AI26 分钟前
知识驱动开发:用iFlow工作流构建本地知识库
前端·ai·rag·mcp·iflow·iflow cli·iflowcli
wordbaby27 分钟前
TanStack Router 文件命名约定
前端