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

联盟网站制作各大网站

联盟网站制作,各大网站,中国最有创意的广告,nas做视频网站前言 自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。 下图展示的是被Entry装饰的组件生命周期: 今…

前言

自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。

下图展示的是被@Entry装饰的组件生命周期:
在这里插入图片描述

今天根据上面的流程图,我们从自定义组件的初始创建、重新渲染和删除来一一详细解释。

说明:允许在生命周期函数中使用Promise和异步回调函数,比如网络资源获取,定时器设置等;

aboutToAppear

aboutToAppear?(): void

aboutToAppear函数在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。

注意⚠️:从API version 9开始,该接口支持在ArkTS卡片中使用。

aboutToDisappear

aboutToDisappear?(): void

aboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。

注意⚠️:从API version 9开始,该接口支持在ArkTS卡片中使用。

onPageShow

onPageShow?(): void

页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效。

onPageHide

onPageHide?(): void

页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry装饰的自定义组件生效。

onBackPress

onBackPress?(): void

当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效。

@Entry
@Component
struct IndexComponent {@State textColor: Color = Color.Black;onPageShow() {this.textColor = Color.Blue;console.info('IndexComponent onPageShow');}onPageHide() {this.textColor = Color.Transparent;console.info('IndexComponent onPageHide');}onBackPress() {this.textColor = Color.Red;console.info('IndexComponent onBackPress');}build() {Column() {Text('Hello World').fontColor(this.textColor).fontSize(30).margin(30)}.width('100%')}
}

onLayout9+

onLayout?(children: Array<LayoutChild>, constraint: ConstraintSizeOptions): void

框架会在自定义组件布局时,将该自定义组件的子节点信息和自身的尺寸范围通过onLayout传递给该自定义组件。不允许在onLayout函数中改变状态变量。

注意⚠️:从API version 9开始,该接口支持在ArkTS卡片中使用。

参数说明:

参数名称参数类型参数说明
childrenArray<LayoutChild>子组件布局信息。
constraintConstraintSizeOptions父组件constraint信息。

onMeasure9+

onMeasure?(children: Array<LayoutChild>, constraint: ConstraintSizeOptions): void

框架会在自定义组件确定尺寸时,将该自定义组件的子节点信息和自身的尺寸范围通过onMeasure传递给该自定义组件。不允许在onMeasure函数中改变状态变量。

注意⚠️:从API version 9开始,该接口支持在ArkTS卡片中使用。
参数说明:

参数名称参数类型参数说明
childrenArray<LayoutChild>子组件布局信息。
constraintConstraintSizeOptions父组件constraint信息。

LayoutChild9+

子组件布局信息。

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数名称参数类型描述
namestring子组件名称。
idstring子组件id。
constraintConstraintSizeOptions子组件约束尺寸。
borderInfoLayoutBorderInfo子组件border信息。
positionPosition子组件位置坐标。
measure(childConstraint: ConstraintSizeOptions) => void调用此方法对子组件的尺寸范围进行限制。
layout(LayoutInfo: LayoutInfo) => void调用此方法对子组件的位置信息进行限制。

LayoutBorderInfo9+

子组件border信息。

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数名称参数类型描述
borderWidthEdgeWidths边框宽度类型,用于描述组件边框不同方向的宽度。
marginMargin外边距类型,用于描述组件不同方向的外边距。
paddingPadding内边距类型,用于描述组件不同方向的内边距。

LayoutInfo9+

子组件layout信息。

从API version 9开始,该接口支持在ArkTS卡片中使用。

参数名称参数类型描述
positionPosition子组件位置坐标。
constraintConstraintSizeOptions子组件约束尺寸。
@Entry
@Component
struct Index {build() {Column() {CustomLayout() {ForEach([1, 2, 3], (index) => {Text('Sub' + index).fontSize(30).borderWidth(2)})}}}
}@Component
struct CustomLayout {@BuilderParam builder: () => {};onLayout(children: Array<LayoutChild>, constraint: ConstraintSizeOptions) {let pos = 0;children.forEach((child) => {child.layout({ position: { x: pos, y: pos }, constraint: constraint })pos += 100;})}onMeasure(children: Array<LayoutChild>, constraint: ConstraintSizeOptions) {let size = 100;children.forEach((child) => {child.measure({ minHeight: size, minWidth: size, maxWidth: size, maxHeight: size })size += 50;})}build() {this.builder()}
}

运行效果如下:

在这里插入图片描述

总结

自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。合理的掌握和使用组件的生命周期函数可以帮助我们更好开发和实现需求功能。

http://www.jinmujx.cn/news/80110.html

相关文章:

  • wordpress同步百度百度seo推广
  • 校园网站建设情况说明余姚网站如何进行优化
  • 专业简历制作平台seo排名优化培训价格
  • 仙居网站设计青岛网站建设制作公司
  • 如何做好网站内连东莞关键词seo优化
  • wordpress 总站模板怎样做百度推广
  • 馆陶网站建设费用如何优化关键词的排名
  • 怎么修改wordpress模板文件路径安卓aso优化
  • 服务器网站建设流程免费行情软件网站下载大全
  • 深圳网站制作公司平台北京网站建设开发公司
  • 番禺 大石网站建设新闻稿发布软文平台
  • 泰安网站设计网站开发的步骤
  • 成都微信网站设计互联网推广销售
  • 呼和浩特网站建设设计营销案例100例小故事及感悟
  • 怎么样免费给网站做优化神马seo服务
  • 登录不了建设银行网站做网站seo推广公司
  • 湖南企业建站系统平台谷歌seo搜索
  • 关于大创做网站的项目计划书能打开任何网站浏览器
  • 微信商城有哪些学seo需要学什么专业
  • 桂林网站建设推广普通话内容100字
  • 怎么查网站有没有做301济南seo的排名优化
  • 商业网络收费标准seo做的好的网站
  • 武汉政务网站开发网络暴力事件
  • 连云港网站建设公司商丘seo推广
  • 商城网站策划方案做直销去哪里找客户
  • 网站商城维护怎么做谷歌广告投放教程
  • 江西seo百度如何优化排名靠前
  • wordpress移动端导航菜单企业关键词优化专业公司
  • 免费建设网站微信推广怎么做
  • ibm用来做测试的网站一份完整的电商运营方案