HarmonyOS NEXT开发实战:轮播Banner组件封装

前言

轮播图在每个项目中都很常见,鸿蒙中在容器组件中也提供了Swiper组件,用于子组件滑动轮播显示,和前端的使用起来也是异曲同工,我们先看下基本的用法。

Swiper() {
          ForEach(["1", "2", "3", "4", "5", "6"], (item: string) => {
            Text(item.toString())
              .width('90%')
              .height(160)
              .backgroundColor(0xAFEEEE)
              .textAlign(TextAlign.Center)
              .fontSize(30)
          }, (item: string) => item)
        }

以上的代码便轻松的实现了一个轮播图效果,当然了,只是一个简单的案例,很多属性并没有设置,按照正常的使用而言,确实没必要再搞什么封装,但是,有一个潜在的问题是需要封装的,比如使用懒加载数据的时候,不封装的话,每实现一个轮播图就需要重复大量的代码,这显然是冗余的;还有一种场景,那就是,系统的轮播无法满足我们的需求,这种情况下,是不得不进行封装的。

一、简单封装之后的代码及效果展示

封装的Banner已经上传到了远程仓库,使用起来也是非常的简单

方式一:在Terminal窗口中,执行如下命令安装三方包,DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。

    ohpm install @abner/banner

方式二:在工程的oh-package.json5中设置三方包依赖,配置示例如下:


    "dependencies": { "@abner/banner": "^1.0.0"}

效果没什么好说的,都是用Swiper组件所封装的。

HarmonyOS NEXT开发实战:轮播Banner组件封装_第1张图片

代码实现上,毕竟采取了封装,简化了大量的代码,简单的案例如下:

Banner({
          data: ["1", "2", "3", "4", "5", "6"],
          itemPage: this.itemPage
       })

更多的案例,就不贴了,直接去看第3项中的开源地址即可。

相关属性配置

属性 类型 概述
data Array 数据源
itemPage (index: number, item: Object) banner对应的页面
onChange 回调函数 条目切换监听
bannerHeight Length banner高度
bannerWidth Length banner宽度
autoPl

你可能感兴趣的:(鸿蒙,HarmonyOS,OpenHarmony,harmonyos,华为,前端,鸿蒙,移动开发,android,开发语言)