vue3,element-plus 表格搜索过滤数据

1、表格数据

javascript 复制代码
// 表格数据
import type { User } from "@/interface";
const tableData = ref<User[]>([]);

2、 表格搜索过滤数据

javascript 复制代码
// 搜索内容
const search = ref("");
// 表格过滤数据
const tableFilterData = computed(() =>
  tableData.value.filter(
    (data) => !search.value || data.moniker?.includes(search.value)
  )
);
// 表格过滤数据,等价代码(分步拆解)
/*
const tableFilterData = computed(() => {
  // 若 search 为空,直接返回原数组
  if (search.value) return tableData.value;

  // 否则过滤包含关键词的项
  return tableData.value.filter((data) => {
    // 安全访问 moniker,不存在则返回 undefined(过滤掉)
    let moniker = data.moniker ?? "";
    return moniker.includes(search.value);
  });
});
*/

3、表格引用搜索过滤数据,:data="tableFilterData"

html 复制代码
<el-table
  :data="tableFilterData"
  <el-table-column type="selection" header-align="center" />
  <el-table-column prop="moniker" label="人员">
    <template #header>
      <el-input v-model="search" :prefix-icon="Search">
        <template #prepend>人员</template>
      </el-input>
    </template>
  </el-table-column>
</el-table>

4、应用效果

相关推荐
一字白首11 小时前
Vue3 进阶,新特性 defineOptions/defineModel+Pinia 状态管理全解析
前端·javascript·vue.js
90后的晨仔11 小时前
🛠️ 为什么配置 ~/.ssh/config 后,Sourcetree 就能正常推送了?
前端
Sylus_sui11 小时前
Vue2 与 Vue3 数据双向绑定:区别与原理详解
前端·javascript·vue.js
ConardLi12 小时前
AI:我裂开了!现在的大模型评测究竟有多变态?
前端·人工智能·后端
这是你的玩具车吗12 小时前
能和爸妈讲明白的大模型原理
前端·人工智能·机器学习
霍理迪12 小时前
CSS文本样式
前端·css
Ashley_Amanda12 小时前
JavaScript 中 JSON 的处理方法
前端·javascript·json
+VX:Fegn089512 小时前
计算机毕业设计|基于springboot + vue宠物寄养系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计·宠物
烛阴12 小时前
C# 正则表达式(3):分组与捕获——从子串提取到命名分组
前端·正则表达式·c#
一 乐13 小时前
校园实验室|基于springboot + vue校园实验室管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端