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

📑往期推文全新看点(文中附带最新·鸿蒙全栈学习笔记)

✒️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?

✒️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~

✒️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?

✒️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?

✒️ 记录一场鸿蒙开发岗位面试经历~

✒️ 持续更新中……


介绍

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

效果图预览

使用说明

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

实现思路

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

工程结构&模块类型

   searchswiper                                  // har类型
   |---SearchSwiper.ets                          // 视图层-场景列表页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值