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

网站建设公司做销售好不好?/国内最新新闻

网站建设公司做销售好不好?,国内最新新闻,江门网页模板建站,网站建设的测试【HarmonyOS】HarmonyOS NEXT学习日记:六、渲染控制、样式&结构重用 渲染控制包含了条件渲染和循环渲染,所谓条件渲染,即更具状态不同,选择性的渲染不同的组件。 而循环渲染则是用于列表之内的、多个重复元素组成的结构中。 …

【HarmonyOS】HarmonyOS NEXT学习日记:六、渲染控制、样式&结构重用

渲染控制包含了条件渲染和循环渲染,所谓条件渲染,即更具状态不同,选择性的渲染不同的组件。
而循环渲染则是用于列表之内的、多个重复元素组成的结构中。

在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快速生成组件的循环渲染语句,针对大数据量场景的数据懒加载语句,针对混合模式开发的组件渲染语句。

渲染控制

条件渲染(if/else)

ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。

@Entry
@Component
struct Index {@State counter: number = 0;build() {Column({space: 10}){Text(`counter=${this.counter}`)Row(){if(this.counter===0){Text(`counter===0,不展示归零按钮`);}else{Button('归零').onClick(()=>{this.counter=0})}}Row(){Button('counter++').onClick(()=>{this.counter++})}}}
}

上文我们实现了一个例子、初始化counter为0,提供一个counter++的按钮,点击时counter+1。
当counter=0时,显示文字:counter=0,不展示归零按钮
在这里插入图片描述
否则,展示一个归零按钮
在这里插入图片描述
点击归零按钮后,counter赋值0,页面回归初始状态
在这里插入图片描述
通过这个例子,就简单掌握了条件渲染的用法。

循环渲染

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

用法:

// Index.ets
import text from '@ohos.graphics.text';interface newItem{title: string,subTitle: string,time: string
}@Entry
@Component
struct Index {@State news: newItem[] = [{title: '新闻标题1',subTitle: '这是一个副标题1',time: '2024/7/22'},{title: '新闻标题2',subTitle: '这是一个副标题2',time: '2024/7/22'},{title: '新闻标题3',subTitle: '这是一个副标题3',time: '2024/7/22'}];build() {Scroll(){Column({space:1}){ForEach(this.news,(item:newItem)=>{Column(){Row(){Text(item.title).fontSize(22)}.width('100%')Row(){Text(item.subTitle).fontColor('#aaa')}.width('100%')Row(){Text(item.time).fontColor('#aaa')}.width('100%').justifyContent(FlexAlign.End)}.padding(10).border({width: {bottom: 1},color: '#ccc',style: BorderStyle.Dashed,}).backgroundColor('rgba(25, 159, 126, 0.1)')},(item:newItem,index:number)=>index+'')}.width('100%').backgroundColor('#eee')}}
}

在这里插入图片描述

样式&结构重用

@Extend:扩展组件(样式、事件)

继承一个组件并且为其添加扩展方法,通过自定义扩展方法就可以添加可复用的样式和事件。

// Index.ets
import text from '@ohos.graphics.text';
@Extend(Text)
function textExtend(backgroundColor: ResourceColor,text: string){.textAlign(TextAlign.Center).backgroundColor(backgroundColor).fontColor(Color.Red).fontSize(22).width('100%').onClick(() => {AlertDialog.show({message: text})})
}
@Entry
@Component
struct Index {build() {Column(){Text('1111').textExtend(Color.Blue,'1111')Text('2222').textExtend(Color.Green,'2222')}}
}

可以看到我们布局时的代码简练了很多
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/56c54cc368704ec7b19409557a6320da.png在这里插入图片描述

在这里插入图片描述
!!!会影响整个页面的该组件,需要注意!!!

@Styles: 抽取通用属性、事件

// Index.ets
//'CommonAttribute' 类型
@Styles function textStyle() {.backgroundColor('#eee').width('100%').onClick(() => {AlertDialog.show({message: '点击触发'})})
}
@Entry
@Component
struct Index {build() {Column(){Text('1111').textStyle().textAlign(TextAlign.Center)Text('2222').textStyle().textAlign(TextAlign.Center)}}
}

在这里插入图片描述
在这里插入图片描述
特点:

  • 只能设置CommonAttribute类型的属性,也就是通用属性
    像是,TextFont这种只能给Text组件设置的属性无法通过这种方式提取。
  • 无法接收参数
  • 有组件作用域和全局作用域

@Builder:自定义构建函数(结构、样式、事件)

通过@Builder我们可以自定义构建函数,将需要复用的结构、样式、事件通通封装起来。

// Index.ets
import text from '@ohos.graphics.text'@Builder function TextItem(text: string){Text(text).fontSize(18).fontColor(Color.Red).backgroundColor('#ccc').lineHeight(30).width('100%').textAlign(TextAlign.Center).onClick(()=>{AlertDialog.show({message: text})})
}
@Entry
@Component
struct Index {build() {Column(){TextItem('111')TextItem('222')TextItem('333')}}
}

在这里插入图片描述
点击后可以触发事件
在这里插入图片描述

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

相关文章:

  • 商业平台网站开发/凡科网建站系统源码
  • 苏州专业做网站的公司/网站开发北京公司
  • 北京微网站制作/深圳竞价托管公司
  • 网站建设拾金手指下拉二十/百度排行榜风云榜小说
  • 国家新闻出版署是什么机构/扬州seo博客
  • 重庆人才招聘网官网/重庆seo
  • 西安做网站南通公司/谷歌浏览器网页版进入
  • led网站建设方案模板/成人本科报考官网
  • 互联网网站建设制作/长沙百度推广开户
  • 中山网站制作公司/网站建设首页
  • 品牌建设的路径/网站排名优化查询
  • 江苏今天刚刚的最新新闻/seo网站优化报价
  • 中海建筑建设有限公司网站/seo排名赚app下载
  • 建湖做网站哪家公司好/seo排名优化推广报价
  • wordpress添加主题设置选项/搜索引擎优化是指
  • 洛阳市App网站开发公司/挖掘爱站网
  • 廉江新闻最新消息/南京百度seo
  • 百度seo排名点击/广州网站快速优化排名
  • 旅游网站开发需求分析目的/软文写作是什么意思
  • 网站怎么做关键词优化/数据统计网站有哪些
  • 上海网站建设培训班/网站推广培训
  • 模板式网站建设/市场监督管理局投诉电话
  • b站黄页推广2023更新/电脑版百度网盘
  • 花钱做网站注意些什么/百度关键词排名批量查询工具
  • 在建工程查询网站/网站自然优化
  • 专门设计网站的公司叫什么/免费推广网站推荐
  • 今日的上海发布/网站排名优化软件有哪些
  • 电商模板免费下载/资源企业网站排名优化价格
  • 做网站泰安/网络营销战略有什么用
  • 大良营销网站建设效果/seo推广怎么做