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

建设机械网站机构南宁seo公司

建设机械网站机构,南宁seo公司,制作做动画的网站,全国疫情发布会最新情况关于仓颉开发语言我们已经连续分享了很多天,相信大家对于仓颉开发语言已经有了一定的了解。今天我们继续进阶,分享一个仓颉开发语言中的自定义组件知识。 本文案例就以上一篇文章中的自定义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/215384.html

相关文章:

  • 明年做那些网站能致富百度站长平台网址
  • java公益网站开发如何进行网络推广和宣传
  • wordpress 被墙江门seo推广公司
  • 做愛的网站動漫百度登录页面
  • 公司网站如何建立公司排名seo
  • 如何做网站教程简单昆明排名优化
  • 好用的网址导航网站搜索优化排名
  • 山西微网站建设温州seo教程
  • 移动端网站建设费用厦门seo
  • 网站怎么做前后台存取怎样在百度上发布信息
  • 哪个网站做服装批发比较好三门峡网站seo
  • 哪个网站做高中的题好重庆做优化的网络公司
  • 北京网站seo优化供应商百度2023免费下载
  • 做网站建设怎么找客户优化培训学校
  • 网站做备案需要多久百度知道首页网
  • 江西城乡住房建设网站郑州百度公司地址
  • 做网站需要多大空间石家庄关键词优化软件
  • 公司网站主页打不开国内哪个搜索引擎最好用
  • 珠海网站建设案例谷歌google浏览器官方下载
  • 广州市建设工程档案馆网站大数据营销平台那么多
  • 桂林生活网发布信息seo薪酬水平
  • 深圳西乡做网站青岛网站seo
  • 制作汽车网站搜索引擎营销的实现方法
  • 驾校网站制作十大洗脑广告
  • 关于加强门户网站建设的通知qq推广链接
  • 网站不备案可以做百度推广吗互联网营销师题库
  • 软件技术开发北京网站优化公司哪家好
  • 用自己服务器做网站用备案网络营销推广主要做什么
  • 做网站推广选择什么最好营销方案包括哪些内容
  • php零基础做网站域名注册商