鸿蒙5.0开发实战:搜索框热搜词自动滚动

介绍

本示例介绍使用TextInput组件与Swiper组件实现搜索框内热搜词自动切换。

效果图预览

使用说明

页面顶部搜索框内热搜词条自动切换,编辑搜索框时自动隐藏。

实现思路

  1. 使用TextInput实现搜索框
    TextInput({ text: this.textData, controller: this.controller })
    .onChange((data) => {
       this.textData = data;
    })
  2. 使用Swiper实现热搜词条切换,其中使用ForEach组件循环热搜内容
    Swiper() {
     // 循环搜索关键字数据
      ForEach(FIND_SEARCH_TEXT_DATA, (item: SearchTextModel) => {
        Text(item.searchText)
        ... 
       }, (item: SearchTextModel) => item.id.toString())
    }
  3. 通过判断搜索框编辑态来控制Swiper组件滚动的开始和暂停
    .onEditChange((isEditing) => {
      if (!isEditing) {
        this.isAutoPlay = true
      } else {
        this.isAutoPlay = false
      }
    })
  4. 通过判断搜索框是否有内容控制Swiper组件显示隐藏
    Swiper() {
      ...
    }
    .visibility(this.textData ? Visibility.Hidden : Visibility.Visible)
  5. 使用Stack组件堆叠搜索框与热搜词
    Stack() {
      Swiper()
      TextInput()
    }

工程结构&模块类型

searchswiper                                  // har类型
|---SearchSwiper.ets                          // 视图层-场景列表页面
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值