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、应用效果

相关推荐
鎏年_1 小时前
Vue2项目打包后,某些图片被转换为base64导致无法显示
前端·javascript·vue.js
小韩本韩!2 小时前
解决electron-builder vue 打包后element-ui字体图标不显示问题
vue.js·ui·electron
康6202 小时前
vue2中引入elementui
前端·javascript·elementui
听风说雨的人儿2 小时前
ElementUI时间选择、日期选择
前端·javascript·elementui
wfsm3 小时前
React多层级对象改变值--immer
前端·javascript·react.js
一个天蝎座 白勺 程序猿3 小时前
JavaScript性能优化实战手册:从V8引擎到React的毫秒级性能革命
javascript·react.js·性能优化
沐土Arvin4 小时前
Chrome Performance 面板完全指南:从卡顿到丝滑的终极调试术
前端
少年姜太公5 小时前
一个半小时的腾讯一面,人麻了
前端·javascript·面试
Jiaberrr6 小时前
Vue3 实战:基于 mxGraph 与 WebSocket 的动态流程图构建
前端·javascript·vue.js·websocket·流程图
资深前端攻城狮6 小时前
el-tree-select选项数据无法回显
前端·vue.js·elementui