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

大鹏新区住房和建设局网站网站哪家做的好

大鹏新区住房和建设局网站,网站哪家做的好,自媒体平台注册,wordpress wp_insert_post注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下

如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识

专栏地址: https://blog.csdn.net/qq_56760790/category_12794123.html

目录

1. 渲染-条件渲染

1.1 基本介绍

1.2 使用if/else(创建销毁元素)

1.3 visibility属性控制

2. 渲染-循环渲染

2.1 基本介绍

2.2 首次渲染

2.3 非首次渲染

3. 学习地址


1. 渲染-条件渲染

1.1 基本介绍

在ArkTS中 我们要根据某个状态来控制元素或者组件的显示隐藏 可以采用条件渲染

1.2 使用if/else(创建销毁元素)

代码示例

@Entry@Componentstruct Index {@State isShow:boolean=truebuild() {Column() {Button('显示/隐藏').width(100).height(30).onClick(()=>{if(this.isShow){this.isShow=false}else{this.isShow=true}})if(this.isShow){Text('我是东林').width(200).height(200).fontSize(40)}}.width('100%').height('100%')}}

1.3 visibility属性控制

visibility属性有以下三种:

1、Visible 显示

2、Hidden 隐藏

3、None 隐藏,但是不占位置

代码示例

@Entry@Componentstruct Index {@State isShow:boolean=truebuild() {Column() {Button('显示/隐藏').width(100).height(30).onClick(()=>{if(this.isShow){this.isShow=false}else{this.isShow=true}})Text('我是东林').width(200).height(200).fontSize(40).backgroundColor(Color.Green).visibility(this.isShow?Visibility.Visible:Visibility.Hidden)Text('小头').width(200).height(200).fontSize(40).backgroundColor(Color.Yellow)}.width('100%').height('100%')}}

2. 渲染-循环渲染

2.1 基本介绍

循环渲染使用 ForEach方法来进行

ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为List组件。

官方参考文档

文档中心

语法结构

ForEach(// 数据源arr: Array,// 组件生成函数itemGenerator: (item: 单项, index?: number) => void,// 键值生成函数keyGenerator?: (item: 单项, index?: number): string => string)

代码示例

import FruitModel from '../model/FruitModel';@Entry@Componentstruct Index {@State fruits: FruitModel[]=[new FruitModel('1','苹果','100'),new FruitModel('2','香蕉','90'),new FruitModel('3','西瓜','200')];build() {Row() {Column() {ForEach(this.fruits, (item: FruitModel) => {Text(`${item.id}:${item.name}:${item.vote}`).width(200).height(200)}, (item: FruitModel) => item.id)}.width('100%').height('100%')}.height('100%')}}

2.2 首次渲染

在ForEach首次渲染时,会根据前述键值生成规则为数据源的每个数组项生成唯一键值,并创建相应的组件。

@Entry
@Component
struct Index {@State simpleList: Array<string> = ['苹果', '香蕉', '西瓜'];build() {Row() {Column() {ForEach(this.simpleList, (item: string) => {ChildItem({ item: item })}, (item: string) => item)}.width('100%').height('100%')}.height('100%')}
}@Component
struct ChildItem {@Prop item: string;build() {Text(this.item).fontSize(50)}
}

在上述代码中,键值生成规则是keyGenerator函数的返回值item。在ForEach渲染循环时,为数据源数组项依次生成键值苹果、香蕉和西瓜,并创建对应的ChildItem组件渲染到界面上。

当不同数组项按照键值生成规则生成的键值相同时,框架的行为是未定义的。例如,在以下代码中,ForEach渲染相同的数据项香蕉时,只创建了一个ChildItem组件,而没有创建多个具有相同键值的组件。

@Entry@Componentstruct Index {@State simpleList: Array<string> = ['苹果', '香蕉', '香蕉','西瓜'];build() {Row() {Column() {ForEach(this.simpleList, (item: string) => {ChildItem({ item: item })}, (item: string) => item)}.width('100%').height('100%')}.height('100%')}}@Componentstruct ChildItem {@Prop item: string;build() {Text(this.item).fontSize(50)}}

在该示例中,最终键值生成规则为item。当ForEach遍历数据源simpleList,遍历到索引为1的香蕉时,按照最终键值生成规则生成键值为香蕉的组件并进行标记。当遍历到索引为2的香蕉时,按照最终键值生成规则当前项的键值也为香蕉,此时不再创建新的组件。

2.3 非首次渲染

在ForEach组件进行非首次渲染时,它会检查新生成的键值是否在上次渲染中已经存在。如果键值不存在,则会创建一个新的组件;如果键值存在,则不会创建新的组件,而是直接渲染该键值所对应的组件。例如,在以下的代码示例中,通过点击事件修改了数组的第三项值为"西瓜test",这将触发ForEach组件进行非首次渲染。

@Entry@Componentstruct Index {@State simpleList: Array<string> = ['苹果', '香蕉','西瓜'];build() {Row() {Column() {Text('点击修改第3个数组项的值').fontSize(24).fontColor(Color.Red).onClick(() => {this.simpleList[2] = '西瓜test';})ForEach(this.simpleList, (item: string) => {ChildItem({ item: item })}, (item: string) => item)}.width('100%').height('100%')}.height('100%')}}@Componentstruct ChildItem {@Prop item: string;build() {Text(this.item).fontSize(50)}}

3. 学习地址

全网首发鸿蒙NEXT星河版零基础入门到实战,2024年最新版,企业级开发!视频陆续更新中!_哔哩哔哩_bilibili

http://www.yayakq.cn/news/957914/

相关文章:

  • 上海学习网站建设制作微网站的平台
  • w3c标准网站网站建设基本流程价格
  • 网站导航设计欣赏营销外包团队有哪些
  • 项目总结报告怎么写seo分析案例
  • 如何自建购物网站旅游网的网站建设
  • 湖北黄石域名注册网站建设用c3做的动画网站
  • 阿尔山网站建设嘉兴seo网站优化
  • 网站目录编辑审核的注意事项wordpress清除多余附件
  • 杭州广众建设工程有限公司网站东莞建设网雅园新村第20期名单公
  • 什么网站可下载可做海报的图片常州建站费用
  • 网站关键词优化的价格专业的网站优化公司排名
  • 农业网站建设方案 ppt如何做音乐分享类网站
  • 怎么用免费的网站空间网站建设 慕课
  • 宝塔 wordpress 多站点建设一个企业网站
  • 企网官方网站信息化推进与网站建设
  • 网站开发平台网站制作代码
  • 电影网站建设需要什么wordpress 目录表插件
  • 中国最大的销售网站重庆无障碍网站建设
  • 大连弗莱科技官方网站做陶瓷的公司网站
  • 做网站用什么后台优设设计师网站
  • seo网站点击量排名优化有做美食的视频网站么
  • 网站建设电话销售南京最好的网站设计公司
  • 网站建设caiyiduo莱芜最新招工招聘启事
  • 广州做大型网站建设做网站的如何说服客户
  • 两个男性做网站网络营销是什么时候产生的
  • 品牌网站建设 蝌蚪5小网页游戏在哪里制作
  • 重庆网站建设选圣矢济南cms建站
  • 制作百度移动网站模板免费引流推广怎么做
  • 那个网站可以做视频app制作大淘客wordpress
  • phpcms v9网站模板个人如何制作微信小程序