From 517b4a398d9ca06788366f2c4b94d5d8831af5fc Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Mon, 22 Sep 2025 18:29:30 +0800
Subject: [PATCH] 1

---
 src/views/homePage/index.vue |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/views/homePage/index.vue b/src/views/homePage/index.vue
index 36e40c6..db02613 100644
--- a/src/views/homePage/index.vue
+++ b/src/views/homePage/index.vue
@@ -1,7 +1,7 @@
 <template>
     <div class="home_page">
 
-        <Head></Head>
+        <Head @search="onSearch"></Head>
         <!-- <div class="home_logo flex justify-center"><img src="@/assets/imgs/home/home_logo.png" alt=""></div> -->
         <!-- <van-swipe class="home_logo" :autoplay="3000" indicator-color="white">
             <van-swipe-item><img src="@/assets/imgs/home/Slider-1.jpg" alt=""></van-swipe-item>
@@ -171,6 +171,8 @@
 
 //#region 行情数据----------------------------------------
 let qList = ref([])
+let qListCope = ref([]) // 备份数据
+let key = ref('') // 搜索关键词
 let timeout = ref(null)
 const coinArr = computed(() => store.getters['home/coinArr']);
 
@@ -181,7 +183,16 @@
     if (!(list instanceof Array)) {
         return
     }
-    qList.value = list;
+
+    // 通过关键字进行筛选
+    if (key.value) {
+        qList.value = list.filter(item => {
+            return item.symbol_data.toLowerCase().includes(key.value.toLowerCase()) || item.name.toLowerCase().includes(key.value.toLowerCase())
+        })
+    } else {
+        qList.value = list
+    }
+    qListCope.value = list; // 备份数据
 
     if (timeout.value) {
         clearTimeout(timeout.value)
@@ -192,6 +203,20 @@
 }
 fetchQList()
 
+// 搜索
+const onSearch = (val) => {
+    key.value = val
+
+    if (!val) {
+        qList.value = qListCope.value
+        return
+    }
+    let newList = qListCope.value.filter(item => {
+        return item.symbol_data.toLowerCase().includes(val.toLowerCase()) || item.name.toLowerCase().includes(val.toLowerCase())
+    })
+    qList.value = newList
+}
+
 onBeforeUnmount(() => {
     if (timeout.value) {
         clearTimeout(timeout.value)

--
Gitblit v1.9.3