欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue2+ElementUI利用計算屬性實現(xiàn)搜索框功能

 更新時間:2024年11月13日 14:40:38   作者:邊洛洛  
這篇文章主要為大家詳細介紹了Vue2和ElementUI如何利用計算屬性實現(xiàn)搜索框功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

前言

本文代碼使用vue2+element UI。

輸入框搜索的功能,可以在前端通過計算屬性過濾實現(xiàn),也可以調(diào)用后端寫好的接口。本文介紹的是通過計算屬性對表格數(shù)據(jù)實時過濾,后附完整代碼,代碼中提供的是死數(shù)據(jù),可供學習使用。

效果展示

完整代碼

<template>
  <div class="container">
    <h1 class="page-title">興奮劑系統(tǒng)數(shù)據(jù)展示</h1>
 
    <!-- 搜索框 -->
    <el-input
      v-model="searchTerm"
      placeholder="搜索單位、姓名或身份證號"
      prefix-icon="el-icon-search"
      clearable
      class="search-input"
    >
    </el-input>
 
    <!-- 數(shù)據(jù)表格 -->
    <el-table :data="filteredData" border="">
      <el-table-column prop="unit" label="單位" width="150"></el-table-column>
      <el-table-column prop="name" label="姓名" width="120"></el-table-column>
      <el-table-column prop="idNumber" label="身份證號"></el-table-column>
    </el-table>
 
    <!-- 沒有數(shù)據(jù)時顯示 -->
    <div v-if="filteredData.length === 0" class="empty-message">
      沒有找到匹配的結(jié)果
    </div>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      searchTerm: "",
      mockImportedData: [
        { unit: "北京隊", name: "張三", idNumber: "110101199001011234" },
        { unit: "上海隊", name: "李四", idNumber: "310101199203033456" },
        { unit: "廣州隊", name: "王五", idNumber: "440101199405055678" },
        { unit: "深圳隊", name: "趙六", idNumber: "440301199607077890" },
        { unit: "北京隊", name: "劉七", idNumber: "110101199809099012" },
      ],
    };
  },
  computed: {
    filteredData() {
      const lowercasedSearch = this.searchTerm.toLowerCase();
      return this.mockImportedData.filter(
        (item) =>
          item.unit.toLowerCase().includes(lowercasedSearch) ||
          item.name.toLowerCase().includes(lowercasedSearch) ||
          item.idNumber.includes(this.searchTerm)
      );
    },
  },
};
</script>
 
<style lang="scss" scoped>
/* 容器整體樣式 */
.container {
  padding: 15px;
 
  .page-title {
    font-size: 24px;
    font-weight: bold;
    margin: 5px 0;
  }
  .search-input {
    padding: 10px 0;
    margin-bottom: 10px;
  }
 
  /* 表格容器樣式 */
  .table-wrapper {
    margin-top: 20px;
  }
 
  /* 空結(jié)果提示 */
  .empty-message {
    text-align: center;
    margin-top: 20px;
    color: #a0aec0;
  }
}
</style>

知識點:

1. 數(shù)組的filter()方法:

上述代碼中filter() 方法會遍歷 mockImportedData 中的每個數(shù)據(jù)項,對每一項執(zhí)行回調(diào)函數(shù)進行判斷,滿足以下任意一個條件,才會保留在數(shù)組中。

2.空字符串匹配邏輯

在 JavaScript 中,任何字符串調(diào)用 .includes("") 都會返回 true。

這意味著空字符串會被視為“包含在任何字符串中”。

所以①當用戶不輸入任何數(shù)據(jù),即searchTerm為空時,filter()返回原始的mockImportedData數(shù)組,即不做任何篩選,返回全部數(shù)據(jù);

②當用戶輸入數(shù)據(jù)時,則進行匹配過濾。

到此這篇關于Vue2+ElementUI利用計算屬性實現(xiàn)搜索框功能的文章就介紹到這了,更多相關Vue2搜索框功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vant?UI中van-collapse下拉折疊面板默認展開第一項的方法

    Vant?UI中van-collapse下拉折疊面板默認展開第一項的方法

    之前做項目的時候,使用了Collapse折疊面板,下面這篇文章主要給大家介紹了關于Vant?UI中van-collapse下拉折疊面板默認展開第一項的相關資料,需要的朋友可以參考下
    2022-03-03
  • vue子組件設計provide和inject理解使用

    vue子組件設計provide和inject理解使用

    這篇文章主要為大家介紹了vue子組件設計provide和inject理解及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解Vue中CSS樣式穿透問題

    詳解Vue中CSS樣式穿透問題

    這篇文章主要介紹了VUE中CSS樣式穿透問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • element中el-table表頭通過header-row-style設置樣式

    element中el-table表頭通過header-row-style設置樣式

    有些時候需要給element-ui表頭設置不同樣式,本文主要介紹了element中el-table表頭通過header-row-style設置樣式,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 關于vue中對window.openner的使用指南

    關于vue中對window.openner的使用指南

    opener屬性是一個可讀可寫的屬性,可返回對創(chuàng)建該窗口的Window對象的引用,下面這篇文章主要給大家介紹了關于vue中對window.openner使用的相關資料,需要的朋友可以參考下
    2022-11-11
  • Vue?Hook?封裝通用型表格的詳細過程

    Vue?Hook?封裝通用型表格的詳細過程

    這篇文章主要介紹了Vue?Hook?封裝通用型表格,設計通用型表格組件首先,需要設計一個基礎的表格組件,它接受列配置、數(shù)據(jù)和分頁信息等參數(shù),本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • Vue NextTick介紹與使用原理

    Vue NextTick介紹與使用原理

    我們對Vue中data數(shù)據(jù)的修改會導致界面對應的響應變化,而通過nextTick方法,可以在傳入nextTick的回調(diào)函數(shù)中獲取到變化后的DOM,講起來可能還是有點夢幻,下面我們直接使用nextTick體驗一下效果
    2022-08-08
  • vue中window.onresize的使用解析

    vue中window.onresize的使用解析

    這篇文章主要介紹了vue中window.onresize的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 基于Vue3+TypeScript實現(xiàn)鼠標框選功能

    基于Vue3+TypeScript實現(xiàn)鼠標框選功能

    這篇文章主要介紹了基于Vue3+TypeScript實現(xiàn)鼠標框選功能,文中通過代碼示例給大家講解的非常纖細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • Vue3打包部署報錯的解決方案

    Vue3打包部署報錯的解決方案

    這篇文章主要介紹了Vue3打包部署報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論