VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法

简介: VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法

步骤:

模板中定义:

<el-table
  :data="showDetailrowtableDatas"
   border
   height="300px"
   :show-summary="true"
   :summary-method="getSummaries"
 >
 <el-table-column
    v-for="(list, listindex) in detailrowtabledataslist"
    :key="listindex"
    :prop="list.prop"
    :label="list.label"
    :type="list.type"
    :sortable="list.sortable"
    :width="list.width"
    :formatter="list.formatter"
  >
<el-table/>

定义data数据:

data() {
    return {
         detailrowtabledataslist: [
            {
              prop: 'orderNumber',
              label: '订单编号',
              sortable: true,
              width: '120px',
              keynum: 1,
              search: ''
            },
            {
              prop: 'selfNo',
              label: '自编号',
              width: '120px',
              keynum: 1,
              search: ''
            },
            {
              prop: 'projectName',
              label: '项目名称',
              keynum: 1,
              search: '',
              width: '120px'
            }
    ]    
    }
}

计算属性中对data进行过滤:

computed: {
    showDetailrowtableDatas() { //重点!!!
      const detailSearchParams = this.detailSearchParams
      console.log(detailSearchParams)
      let arr = JSON.parse(JSON.stringify(this.detailrowtableDatas))
      Object.keys(detailSearchParams || {}).forEach(key => {
        arr = arr.filter(el => (el[key] + '').includes(detailSearchParams[key]))
      })
      console.log(arr)
      return arr
    },
    detailSearchParams: {
      get() {
        return {
          orderNumber: this.getSearchSelectValue('orderNumber'),
          selfNo: this.getSearchSelectValue('selfNo'),
          projectName: this.getSearchSelectValue('projectName'),
          productName: this.getSearchSelectValue('productName'),
          width: this.getSearchSelectValue('width'),
          height: this.getSearchSelectValue('height'),
          floorNumber: this.getSearchSelectValue('floorNumber')
        }
      },
      set(newValue) {
        this.tabledataslist = this.detailrowtabledataslist.map(el => {
          const propsKey = el.prop
          return {
            ...el,
            search: newValue[propsKey] || ''
          }
        })
      }
    }
  }

获取参数json用于和表格prop进行比对:

methods: {
    getSearchSelectValue(key) {
      const item = this.detailrowtabledataslist.find(el => el.prop === key)
      console.log(item)
      return item.search
    }
}

看效果:
在这里插入图片描述
此方法不仅筛选速度快,而且不调用接口减小服务器压力(注意:双表头前面的博文有详细介绍)

相关文章
|
18天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
18天前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
24天前
|
JavaScript 前端开发 算法
前端优化之超大数组更新:深入分析Vue/React/Svelte的更新渲染策略
本文对比了 Vue、React 和 Svelte 在数组渲染方面的实现方式和优缺点,探讨了它们与直接操作 DOM 的差异及 Web Components 的实现方式。Vue 通过响应式系统自动管理数据变化,React 利用虚拟 DOM 和 `diffing` 算法优化更新,Svelte 通过编译时优化提升性能。文章还介绍了数组更新的优化策略,如使用 `key`、分片渲染、虚拟滚动等,帮助开发者在处理大型数组时提升性能。总结指出,选择合适的框架应根据项目复杂度和性能需求来决定。
|
18天前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】 React与Vue:前端框架的巅峰对决与选择策略
|
1月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
128 2
|
1月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
38 0
|
1月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
1月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
1月前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT