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

响应式网站设计与实现论文国内十大搜索引擎排名

响应式网站设计与实现论文,国内十大搜索引擎排名,做网站的外包公司上班好不好,优秀网页界面设计文章目录 前言一、条件渲染1.1 if/else1.2 属性控制1.3 可见性 二、循环渲染三、滚动渲染3.1 下拉刷新3.2 上拉加载 前言 在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条…

文章目录

  • 前言
  • 一、条件渲染
    • 1.1 if/else
    • 1.2 属性控制
    • 1.3 可见性
  • 二、循环渲染
  • 三、滚动渲染
    • 3.1 下拉刷新
    • 3.2 上拉加载


前言

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


一、条件渲染

1.1 if/else

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

if (this.isShow){Image($r('app.media.foreground')).width(100)
}else{Image($r('app.media.startIcon')).width(100)
}

1.2 属性控制

可以使用三元表达式进行属性控制,比如元素高度、透明度、位置。

Image($r('app.media.startIcon')).width(this.isShow ? 100 : 0)

1.3 可见性

使用visibility属性进行元素的可见性控制。

Image($r('app.media.startIcon')).visibility(this.isShow? Visibility.Visible : Visibility.None)

二、循环渲染

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

List() {ForEach(this.list, (item: GoodItem) => {ListItem() {Row({ space: 10 }) {Image(item.goods_img).borderRadius(8).width(120).height(200)Column() {Text(item.goods_name).fontWeight(FontWeight.Bold)Text("¥" + item.goods_price).fontColor(Color.Red).fontWeight(FontWeight.Bold)}.padding({top: 5,bottom: 5}).alignItems(HorizontalAlign.Start).justifyContent(FlexAlign.SpaceBetween).height(200).layoutWeight(1)}}.width('100%').padding(5)})
}

在这里插入图片描述

三、滚动渲染

当和页面做滚动交互时,主要分为下拉刷新和上拉加载。

3.1 下拉刷新

当页面下拉时,应该刷新页面数据。

Refresh({refreshing: $$this.refreshing,builder: this.refreshContent
}){List(){ForEach(this.list, (item:number)=>{ListItem(){Row(){Text(item.toString())}.width('100%').padding(20).border({width: {bottom: 1},color: Color.Gray})}})}
}.onRefreshing(()=>{setTimeout(()=>{this.list = Array(20).fill(Date.now())this.refreshing = false}, 1000)
})

Refresh组件:refreshing属性是指正在刷新状态的双向绑定,builder属性是指下拉刷新的显示页面组件(需要@Builder修饰符),onRefreshing是开始刷新事件函数。
builder代码如下:

@Builder
refreshContent(){Text('正在加载中...').width('100%').textAlign(TextAlign.Center).backgroundColor(Color.Pink)
}

3.2 上拉加载

当页面在底部并上拉时,页面应该请求新数据并加载到页面中。

Refresh({refreshing: $$this.refreshing,builder: this.refreshContent
}){List(){ForEach(this.list, (item:number)=>{ListItem(){Row(){Text(item.toString())}.width('100%').padding(20).border({width: {bottom: 1},color: Color.Gray})}})}.onScrollStart(()=>{// promptAction.showToast({message: '开始滚动'})this.isEnd = false}).onScrollStop(()=>{if (this.isEnd) {setTimeout(()=>{this.list.push(...Array(10).fill(Date.now()))promptAction.showToast({message: '已经添加10条数据'})this.scroller.scrollEdge(Edge.Bottom)}, 100)}}).onReachEnd(()=>{this.isEnd = true})
}.onRefreshing(()=>{setTimeout(()=>{this.list = Array(20).fill(Date.now())this.refreshing = false}, 1000)
})

上拉加载的时机:页面到底部,并且还在上拉刷新。就会加载数据到页面,并且页面定位到新加载数据处。
List组件:onScrollStart开始滚动事件函数,onScrollStop停止滚动事件函数,onReachEnd到达底部事件函数。

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

相关文章:

  • 做马甲的网站网站宣传文案
  • 网站返回500错误页面深圳网络营销网站设计
  • 织梦网站首页目录在哪济南seo公司
  • 南宁网站建设策划外包网站建设优化哪家公司好
  • wordpress安装乱码网站推广seo是什么
  • wordpress 日期函数西安优化排名推广
  • 网站优化和推广方案ppt广东seo网站优化公司
  • 做一网站优化要多少钱榆林百度seo
  • 在小型网站建设小组中答案网站注册信息查询
  • 外贸b2b网站如何做外链郑州网站制作公司哪家好
  • 做网站推广的技巧百度数据分析工具
  • 新手做网站如何引流与推广
  • 企业网站 案例如何做网站推广及优化
  • 电商网站建设课件宁波网络推广平台
  • 帮别人做网站市场价优化营商环境个人心得
  • 没有网站可以做app吗北京网站推广助理
  • 长沙建网站设计公司十大搜索引擎神器
  • 万全网站建设wl17581游戏推广员判几年
  • 360免费网站空间今日军事新闻最新消息新闻报道
  • 网络营销就是建立企业网站建网站设计
  • 网上搞钱的野路子靠谱seo外包定制
  • 怎样做网站用html优化关键词排名外包
  • 用什么做网站的访问量统计网红推广接单平台
  • 盂县在线这个网站是谁做的品牌营销推广策划公司
  • 大兴模板网站建设图片seo优化是什么意思
  • 房产网站案例长沙本地推广
  • 国内最最早做虚拟货币的网站必应搜索引擎怎么样
  • 大连网站快速制作全面的seo网站优化排名
  • 江门做网站多少钱安卓在线视频嗅探app
  • 网站建设服务好公司排名可以建网站的网络公司有哪些