最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

本文代碼使用vue2+element UI。

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

效果展示

完整代碼

<template>
  <div class="container">
    <h1 class="page-title">興奮劑系統(tǒng)數(shù)據(jù)展示</h1>
 
    <!-- 搜索框 -->
    <el-input
      v-model="searchTerm"
      placeholder="搜索單位、姓名或身份證號(hào)"
      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="身份證號(hào)"></el-table-column>
    </el-table>
 
    <!-- 沒(méi)有數(shù)據(jù)時(shí)顯示 -->
    <div v-if="filteredData.length === 0" class="empty-message">
      沒(méi)有找到匹配的結(jié)果
    </div>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      searchTerm: "",
      mockImportedData: [
        { unit: "北京隊(duì)", name: "張三", idNumber: "110101199001011234" },
        { unit: "上海隊(duì)", name: "李四", idNumber: "310101199203033456" },
        { unit: "廣州隊(duì)", name: "王五", idNumber: "440101199405055678" },
        { unit: "深圳隊(duì)", name: "趙六", idNumber: "440301199607077890" },
        { unit: "北京隊(duì)", 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>

知識(shí)點(diǎn):

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

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

2.空字符串匹配邏輯

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

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

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

②當(dāng)用戶(hù)輸入數(shù)據(jù)時(shí),則進(jìn)行匹配過(guò)濾。

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

相關(guān)文章

  • vue父子組件通訊的所有方法小結(jié)

    vue父子組件通訊的所有方法小結(jié)

    本文將介紹父組件與子組件之間傳遞數(shù)據(jù)的四種方法,以一個(gè)簡(jiǎn)單的小demo為例,通過(guò)實(shí)例全方位解析和代碼演示,便于大家理解,需要的朋友可以參考下
    2024-07-07
  • vue中實(shí)現(xiàn)圖片和文件上傳的示例代碼

    vue中實(shí)現(xiàn)圖片和文件上傳的示例代碼

    下面小編就為大家分享一篇在vue中實(shí)現(xiàn)圖片和文件上傳的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條

    vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中正確使用jsx語(yǔ)法的姿勢(shì)分享

    vue中正確使用jsx語(yǔ)法的姿勢(shì)分享

    這篇文章主要給大家介紹了關(guān)于vue中正確使用jsx的相關(guān)資料,JSX就是Javascript和XML結(jié)合的一種格式,React發(fā)明了JSX,利用HTML語(yǔ)法來(lái)創(chuàng)建虛擬DOM,當(dāng)遇到<,JSX就當(dāng)HTML解析,遇到{就當(dāng)JavaScript解析,需要的朋友可以參考下
    2021-07-07
  • 詳解vue-cli腳手架中webpack配置方法

    詳解vue-cli腳手架中webpack配置方法

    這篇文章主要介紹了詳解vue-cli腳手架中webpack配置方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 使用Vue.js和Element-UI做一個(gè)簡(jiǎn)單登錄頁(yè)面的實(shí)例

    使用Vue.js和Element-UI做一個(gè)簡(jiǎn)單登錄頁(yè)面的實(shí)例

    下面小編就為大家分享一篇使用Vue.js和Element-UI做一個(gè)簡(jiǎn)單登錄頁(yè)面的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Vue+Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn)變形效果

    Vue+Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn)變形效果

    Openlayer具有自己的擴(kuò)展插件ol-ext,可以用來(lái)實(shí)現(xiàn)圖形的拖拽、旋轉(zhuǎn)、縮放、拉伸、移動(dòng)等操作,本文將主要介紹通過(guò)Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn),需要的同學(xué)可以學(xué)習(xí)一下
    2021-11-11
  • react router零基礎(chǔ)使用教程

    react router零基礎(chǔ)使用教程

    React-Router 路由庫(kù),是官方維護(hù)的路由庫(kù),事實(shí)上也是唯一可選的路由庫(kù)。它通過(guò)管理 URL,實(shí)現(xiàn)組件的切換和狀態(tài)的變化,開(kāi)發(fā)復(fù)雜的應(yīng)用幾乎肯定會(huì)用到
    2022-09-09
  • 在vue中給后臺(tái)接口傳的值為數(shù)組的格式代碼

    在vue中給后臺(tái)接口傳的值為數(shù)組的格式代碼

    這篇文章主要介紹了在vue中給后臺(tái)接口傳的值為數(shù)組的格式代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Node.js+Vue腳手架環(huán)境搭建的方法步驟

    Node.js+Vue腳手架環(huán)境搭建的方法步驟

    這篇文章主要介紹了Node.js+Vue腳手架環(huán)境搭建的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論

应城市| 揭阳市| 兰州市| 阿克| 和平县| 区。| 江西省| 石城县| 修武县| 工布江达县| 永靖县| 甘肃省| 依安县| 银川市| 蚌埠市| 遂宁市| 金平| 长兴县| 定日县| 莱州市| 普安县| 邯郸县| 卓资县| 东乡县| 安丘市| 浠水县| 深圳市| 台湾省| 宾阳县| 万源市| 澄江县| 玉屏| 化隆| 抚松县| 柳林县| 淮南市| 庆元县| 凤凰县| 电白县| 筠连县| 洱源县|