详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第三节 (封装TabBar JS版)

这篇具有很好参考价值的文章主要介绍了详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第三节 (封装TabBar JS版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Tabbar组件概述

本组件通过HML布局、CSS样式和JS逻辑封装实现一个通用的Tabbar。支持可配置的Tab项和对应页面,可以方便接入到不同页面中,提高开发效率。

二、实现方式

  1. HML部分采用Flex布局实现Tabbar的整体结构,包含多个Tab项。
  2. CSS部分定义样式,包括图标大小、文字颜色等样式参数。支持后续扩展。
  3. JS部分提供组件的核心逻辑。
  • 定义Tab项数据,支持配置页面路由、图标、标签等信息。
  • 利用系统API dynamical添加点击事件,进行路由跳转等功能。

三、使用方法

  1. 页面HML布局部分直接引入Tabbar组件节点。
  2. JS逻辑初始化时配置所需的Tab项数据。包括页面、图标、标签等。
  3. 传入配置数据,绑定点击事件,实现路由跳转等功能。

四、代码示例

// tabbar组件
@Component
struct TabBar {

  build() {
    Row() {
      Column() { 
        Image($r('app'))
          .onClick(() => {
            // 点击图片事件处理
          })
        Text('首页') 
          .onClick(() => {
             // 点击文字事件处理
          })
      }
      Column() {
        // 其他Tab Item
      }
    }
  } 
}

// 登录页面使用
@Component
struct LoginPage {

  build() {
    Column() {
      // 登录页面内容  
      
      TabBar() 
    }
  }

}

上面是Tabbar的组件代码,通过Row和Column布局,内部可以放置图片、文字等元素。并且可为每个item添加点击事件。

在登录页面底部,直接实例化并使用该TabBar组件。

这实现了Tabbar的复用,以及和页面的解耦。

接下来,我们可以通过参数形式,使Tabbar可配置:

// 定义Tab项配置
const tabs = [{
  icon: 'app',
  text: '首页'
}, {
  //...其他
}]

// Tabbar组件
struct TabBar {

  build() {
    Row() {
      tabs.forEach(item => {
        Column() {
          Image($r(item.icon))
          Text(item.text)
        }.onClick(() => {
          //...
        })  
      }
    }
  }

}

// 使用时配置
TabBar({
  tabs
})

上面我们通过传入tabs参数,使Tabbar可以动态配置,而不需要每次修改组件代码。

完整的使用示例:

hml:

<!-- 1. HML布局 -->
<div class="container">

  <!-- 页面内容 -->
  <div class="content"></div>

  <!-- Tabbar -->
  <div class="tab-bar">
    <div class="tab-item">      
      <image class="icon"></image>
      <text class="label"></text>
    </div>
    <div class="tab-item"></div>
    ...
  </div>

</div>

css:

/* 2. CSS样式 */  
.container {
  display: flex;
  flex-direction: column;  
  justify-content: space-between; 
}

.content {
  flex: 1;  
}

.tab-bar {
  flex-direction: row;
}

.tab-item {
  flex-direction: column;
  align-items: center;  
}

.icon {
  width: 30px;
  height: 30px;
}

.label {
  font-size: 12px;
}

js:

// 3. js逻辑
import router from '@system.router';

// Tab配置
const tabs = [
  {
    icon: 'home',
    text: '首页',
    page: 'pages/home'
  },  
  //...
];

// 获取节点
const tabItems = document.getElementsByClassName('tab-item');

// 绑定点击事件  
tabItems.forEach((item, index) => {

  item.onclick = () => {
    
    // 拿到配置
    let config = tabs[index];
    
    // 跳转页面 
    router.replace({uri: config.page});

  };

});

在HML中通过div布局Tabbar结构,JS中动态绑定每个tab的点击事件,配合CSS定义样式。

这个示例中,Tab实现了图标、标题和关联页面的配置,可满足通用的Tab组件需求。

五、扩展方向

当前组件提供了Tabbar的基础功能,后续可以继续优化:

  • 支持更丰富的样式定制需求。
  • 增加Badge、红点等扩展视图。
  • 动态获取Tab项数据,而不是编码形式。
  • 加入应用间通信、数据共享等能力。

六、结语

上一节:详细教程 - 从零开发 Vue 鸿蒙应用 第二节 (鸿蒙Stage模型 登录页面)文章来源地址https://www.toymoban.com/news/detail-766932.html

到了这里,关于详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第三节 (封装TabBar JS版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS4.0从零开始的开发教程12给您的应用添加弹窗

    在我们日常使用应用的时候,可能会进行一些敏感的操作,比如删除联系人,这时候我们给应用添加弹窗来提示用户是否需要执行该操作,如下图所示: 弹窗是一种模态窗口,通常用来展示用户当前需要的或用户必须关注的信息或操作。在弹出框消失之前,用户无法操作其他

    2024年02月04日
    浏览(33)
  • 鸿蒙(HarmonyOS)应用开发指南

    1.1 简介 鸿蒙 (即 HarmonyOS ,开发代号 Ark ,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的 分布式操作系统 。该系统利用“分布式”技术将 手机、电脑、平板、电视、汽车和智能穿戴 等多款设备

    2024年02月02日
    浏览(43)
  • HarmonyOS 鸿蒙应用开发(十一、面向鸿蒙开发的JavaScript基础)

    ArkTS 是HarmonyOS(鸿蒙操作系统)原生应用开发的首选语言。它是用于构建用户界面的一种TypeScript方言,扩展了TypeScript以适应HarmonyOS生态系统的UI开发需求。ArkTS 融合了TypeScript的静态类型系统和现代UI框架的设计理念,为开发者提供了一种更安全高效的方式来编写HarmonyOS应用。

    2024年02月20日
    浏览(39)
  • 【免费】如何考取HarmonyOS应用开发者基础认证和高级认证(详细教程)

    基础: 华为开发者学堂 高级: 华为开发者学堂 注:免费认证,其中基础认证有免费的课程,浏览器用Edge。 HarmonyOS应用开发者认证考试网址 前言 一、备考流程 二、练习内容(含答案) 三、注意事项 总结         在数字化浪潮席卷全球的今天,信息技术以其独特的魅力引

    2024年03月19日
    浏览(37)
  • 【HarmonyOS】开发一个可以看小姐姐的鸿蒙应用 鸿蒙开发入门

    先整张效果图,丑点是丑点,但可以用,买不起鸿蒙系统手机的我,只配用虚拟机。 要说目前最火的手机操作系统,要我来看的话那必然是鸿蒙无疑。16号刚刚结束了第五次鸿蒙内测,在看到这次的内测名单之后,居然有970的机器,这是不是说明俺这手里奋战了三年的荣耀

    2024年02月15日
    浏览(53)
  • 鸿蒙应用开发尝鲜:初识HarmonyOS

    来源:华为官方网站 : https://developer.huawei.com/ 相信大家对鸿蒙应用开发也不在陌生,很多身处互联网行业或者不了解的人们现在也一定都听说过华为鸿蒙.这里我将不再说废话,直接步入正题 HarmonyOS应用开发采用的是ArkTS语言,ArkTS是在TypeScript(简称TS)基础上的拓展,而TS又是JavaScrip

    2024年02月02日
    浏览(42)
  • 鸿蒙HarmonyOS应用开发初体验

    最近华为发布mt60新机火了,作为一名移动开发程序员,对鸿蒙系统开发移动端就很感兴趣了。 开发工具:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 下载完后按默认安装就可以了,界面跟AS很类似,之前我jdk环境配置就不在配置了,不懂的可以百度下很多教程。 这是基

    2024年02月09日
    浏览(30)
  • HarmonyOS鸿蒙开发常用4种布局详细说明

    一直会分享,虽然鸿蒙目前来没有多大发展,但不可否然以后发展,华为的技术是一大突破,存在即合理 可以现在没有多大发展。但不可否定未来的发展。 1、线性布局 2、层叠布局 3、网格布局 4、列表布局 线性布局(LinearLayout)是开发中最常用的布局,通过线性容器Row(行

    2024年04月14日
    浏览(27)
  • 【鸿蒙开发】HarmonyOS应用开发者基础认证题库

    华为开发者学堂   1、考试需实名认证,请在考前于个人主页→个人信息→基本信息→进行实名认证,否则考试通过无法获取专业证书; 2、每个帐号每月有3次考试机会,次月重置考试次数。做题过程中请认真对待,避免考试次数浪费; 3、考试时长为1小时,请合理分配做题

    2024年03月09日
    浏览(72)
  • 【HarmonyOS】鸿蒙应用开发基础认证题目

    【HarmonyOS】鸿蒙应用开发基础认证题目; 随着鸿蒙系统的不断发展,前不久,华为宣布了重磅消息,HarmonyOS next 开发者版本会在明年(2024)开放,并不再支持Android应用!这也意味着,移动端开发者今后又多了一个适配平台,也到了必须学的时候了。 目前已知一线大厂均已开

    2024年02月04日
    浏览(119)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包