当前位置: 首页 > wzjs >正文

竹子系统做的网站可以优化么网站开发费用

竹子系统做的网站可以优化么,网站开发费用,wordpress面包学,网站tag聚合怎么做关于仓颉开发语言我们已经连续分享了很多天,相信大家对于仓颉开发语言已经有了一定的了解。今天我们继续进阶,分享一个仓颉开发语言中的自定义组件知识。 本文案例就以上一篇文章中的自定义tabbar为例,因为我们自己开发的tabbar一直放在inde…

关于仓颉开发语言我们已经连续分享了很多天,相信大家对于仓颉开发语言已经有了一定的了解。今天我们继续进阶,分享一个仓颉开发语言中的自定义组件知识。

本文案例就以上一篇文章中的自定义tabbar为例,因为我们自己开发的tabbar一直放在index.cj文件中总是不太好的,还是要把它拿出来封装一下。

为了较大型项目的文件管理,我在cangjie文件夹下创建了components文件夹,然后在这里创建组件文件,我创建的是yltabbar.cj.

创建文件之后,可以看到依然是初始化了一行代码,我们还是把四大引用拿过来,然后添加build方法,注意自定义组件就不需要@Entry来修饰了,只用@Component:


internal import ohos.base.*
internal import ohos.component.*
internal import ohos.state_manage.*
import ohos.state_macro_manage.*
@Component
public class yltababar {func build() {}
}

然后把tabbar的内容复制到build方法下。

现在如果我们想要给自定义组件传递一些参数,比如tabbar的元素列表,你就可以这样写:

var tabList: Array<TabItem>

这是一个父子单向传递的参数,只能由父组件传递给自组件。我们还有一个参数currenttabIndex,用来记录当前选择的元素序号,这个参数在父组件中也需要用到,这时候就需要使用@Link修饰符:

@Link var currenttabIndex:Int64

现在就可以在页面中使用组件并传递参数了:

yltababar(tabList:this.tabList,currenttabIndex:this.currenttabIndex)

最后跟大家分享封装组件的完整代码:

package ohos_app_cangjie_entry.components
internal import ohos.base.*
internal import ohos.component.*
internal import ohos.state_manage.*
import ohos.state_macro_manage.*
import cj_res_entry.app
import ohos_app_cangjie_entry.model.TabItem
import std.os.posix.link
import std.console.Console
@Component
public class yltababar {var tabList: Array<TabItem>@Link var currenttabIndex:Int64var controller: TabsController = TabsController()func build() {Row {ForEach(this.tabList, itemGeneratorFunc: {item: TabItem, index: Int64 =>Column {if(this.currenttabIndex == index){Image(item.selectIcon).width(28).height(28)Text(item.title).fontSize(15).fontColor(0xd84642).margin(top: 3)}else {Image(item.icon).width(28).height(28)Text(item.title).fontSize(15).fontColor(Color.GRAY).margin(top: 3)}}.onClick({evet => this.currenttabIndex = index;this.controller.changeIndex(Int32(this.currenttabIndex))})})}.width(100.percent).height(60).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.SpaceAround)}
}

 #HarmonyOS语言##仓颉##购物# 

http://www.dtcms.com/wzjs/168512.html

相关文章:

  • 更换网站后台怎么自己找外贸订单
  • 精美网站建设公司网站首页seo关键词布局
  • 大型网站域名济南网络优化网址
  • 教学督导网站建设报告枫树seo
  • 广州大石附近做网站的公司营销背景包括哪些内容
  • 顺德做网站的公司天津网站快速排名提升
  • 购物网站建设新闻国外免费舆情网站有哪些软件
  • 用html做登录网站长沙市最新疫情
  • 如何用wd做网站设计买外链
  • 无锡网站建设推广服务上海最新发布最新
  • 做公司的网站大概多少钱十大短视频平台排行榜
  • 临沂做网站wyjzgzs如何建立和设计公司网站
  • 做调查的网站seo 推广服务
  • 将自己做的网站用电脑发到网上今日国际新闻摘抄
  • 网站制作banner 素材百度下载老版本
  • 做网站一般按什么报价seo排名培训公司
  • 网站服务器干啥宁波seo教程网
  • 上海做网站价格网站seo置顶
  • 惠州网站建设 鑫百度平台我的订单
  • 怎么做电子商务的网站推广短视频培训机构排名
  • 深圳招男做鸭网站哪些平台可以做推广
  • 世界最大的购物网站最新地址
  • 北京平面设计公司排名前十强鸡西seo
  • 为什么我自己做的网站百度不到公众号如何推广
  • 南宁门户网站seoul是什么国家
  • 网站建设费计入哪个二级科目樱桃bt官网
  • 网站漂浮怎么做58同城推广
  • 长沙做一个网站多少钱发帖百度秒收录网站分享
  • php做的网站facebook优化新十条
  • 怎么做网站文章伪原创大连网站排名推广