From 23fa268f56dcd99c8dcd46f50f3ffcaa4cdcbc49 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期五, 10 十月 2025 17:25:53 +0800
Subject: [PATCH] 功能完善

---
 entry/src/main/ets/pages/message/MessagePage.ets |   50 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/entry/src/main/ets/pages/message/MessagePage.ets b/entry/src/main/ets/pages/message/MessagePage.ets
index bec2112..468c606 100644
--- a/entry/src/main/ets/pages/message/MessagePage.ets
+++ b/entry/src/main/ets/pages/message/MessagePage.ets
@@ -10,23 +10,28 @@
 @Entry
 @Component
 export struct MessagePage {
-  @State messageList: Message[] = [
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
-    { avatar: '', name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鏋楀厛鐢�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K路14钖�' },
-    { avatar: '', name: '鍚村コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴�...', price: '20-35K' },
+  @State origMessageList: Message[] = [
+    { avatar: $r('app.media.avatar1'), name: '鏉庡コ澹�', company: '鎽╃背绉诲姩绉戞妧|绉诲姩绔紑鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴戣寰楁垜鍙互鑳滀换杩欎釜宀椾綅', price: '20-35K路14钖�' },
+    { avatar: $r('app.media.avatar2'), name: '鏋楀厛鐢�', company: '浜戞灑鍓嶇鎶�鏈湁闄愬叕鍙竱楂樼骇寮�鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴戣寰楁垜鍙互鑳滀换杩欎釜宀椾綅', price: '20-40K路14钖�' },
+    { avatar: $r('app.media.avatar3'), name: '鍚村コ澹�', company: '鎿庡渤鍚庣绉戞妧|鍚庣寮�鍙戝伐绋嬪笀', desc: '杩欎釜宀椾綅鎴戝崄鍒嗘劅鍏磋叮锛岃鐪嬩竴涓嬫垜鐨勭畝鍘嗭紝鎴戣寰楁垜鍙互鑳滀换杩欎釜宀椾綅', price: '20-35K路13钖�' },
   ]
+  @State @Watch('filterMessageList') searchKeyword: string = ''
+  @State messageList: Message[] = []
+
+  filterMessageList() {
+    if (this.searchKeyword) {
+      let list = this.origMessageList.filter((ele: Message) => {
+        return ele.name.includes(this.searchKeyword) || ele.company.includes(this.searchKeyword)
+      })
+      this.messageList = list
+    } else {
+      this.messageList = this.origMessageList
+    }
+  }
+
+  aboutToAppear(): void {
+    this.filterMessageList()
+  }
 
   build() {
     Column({space: 10}) {
@@ -40,7 +45,7 @@
         Image($r('app.media.search_icon'))
           .width(14)
           .height(14)
-        TextInput({ placeholder: '鎼滅储鎯宠鏌ユ壘鐨勫矖浣�' })
+        TextInput({ placeholder: '鎼滅储鐩稿叧宀椾綅', text: $$this.searchKeyword })
           .placeholderFont({ size: 14})
           .placeholderColor('#999999')
           .backgroundColor('#f3f7fe')
@@ -55,7 +60,7 @@
         ForEach(this.messageList, (item: Message) => {
           ListItem() {
             Row() {
-              Image($r('app.media.avatar'))
+              Image(item.avatar)
                 .width(40)
                 .height(40)
                 .margin({ right: 10 })
@@ -93,7 +98,12 @@
             .margin({ top: 10, bottom: 10 })
             .onClick(() => {
               router.pushUrl({
-                url: 'pages/message/MessageDetailsPage'
+                url: 'pages/message/MessageDetailsPage',
+                params: {
+                  avatar: item.avatar,
+                  name: item.name,
+                  company: item.company
+                }
               })
             })
           }
@@ -104,7 +114,7 @@
       .friction(0.6)
       .edgeEffect(EdgeEffect.Spring)
       .width('100%')
-      .height(560)
+      .height(610)
       .divider({strokeWidth: 1,color: '#f0f0f0'})
     }
     .height('100%')

--
Gitblit v1.8.0