#鸿蒙通关秘籍#如何在HarmonyOS中保存搜索历史,并保证其持久化?

HarmonyOS
2024-12-03 12:11:00
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
LDAP风谷

在HarmonyOS中,可以利用PersistentStorage实现搜索历史的持久化存储,具体方法如下:

  1. 定义并初始化持久化存储:
PersistentStorage.persistProp('searchHistoryData', [])
@StorageLink('searchHistoryData') searchHistoryData: ListData[] = []
  1. 在搜索页面中,通过交互保存用户的搜索历史:
ListItem() {
    Column() {
      Row() {
        Image($r('app.media.search'))
          .width($r('app.string.search_list_image_width'))
        Text(item.name)
          .fontSize($r('app.string.search_history_font_size2'))
          .margin({ left: $r('app.string.search_history_text_padding_margin2') })
      }

      Divider()
        .width('100%')
        .height(1)
        .margin({ top: $r('app.string.search_history_text_padding_margin1') })
    }
    .width('100%')
    .alignItems(HorizontalAlign.Start)
  }
  .width('100%')
  .margin({ top: $r('app.string.search_history_text_padding_margin1') })
  .onClick(() => {
     if (!this.searchHistoryData.includes(item)) {
       this.searchHistoryData.push(item);
       buildRouterModel(item.path, item.routerName, item.param);
     }
  })
  1. 当应用退出并重新启动时,搜索历史依然会被保留,从而提高用户的使用体验。
分享
微博
QQ
微信
回复
2024-12-03 14:19:45
相关问题
HarmonyOS 如何实现搜索历史功能
155浏览 • 1回复 待解决