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

用几个域名做网站好东莞横沥网站制作

用几个域名做网站好,东莞横沥网站制作,外链发布网站,wordpress空两格【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理 问题背景#xff1a; 在鸿蒙中UI更新渲染的机制#xff0c;与传统的Android IOS应用开发相比。开发会简单许多#xff0c;开发效率提升显著。 一般传统应用开发的流程处理分为三步#xff1a;1.画UI#xff0c;…【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理 问题背景 在鸿蒙中UI更新渲染的机制与传统的Android IOS应用开发相比。开发会简单许多开发效率提升显著。 一般传统应用开发的流程处理分为三步1.画UI2.获得or创建处理数据3.增删改数据找到对应控件更新到UI上。 而鸿蒙应用开发大大提供效率其中一点就是减少了第三步。我们只需要关心数据源的变化数据自动会更新到对应的控件上。 这种处理机制其实符合应用开发的时代潮流目前Android和IOS最新框架机制都有相应类似的处理。例如swiftUICompose。并且VueFlutter整个刷新机制就是如此。 众所周知在HarmonyOs的list组件渲染中如果数据源列表对象是多个对象嵌套的处理那最底层对象的属性更新时UI界面是不会渲染的。因为检测不到目前只能检测到第一层对象。 解决方案 当然官方的api在持续迭代的过程中。对于冗余渲染渲染的性能提升还有多层对象嵌套的数据源更新问题一直再迭代方法处理。 针对多层对象嵌套底层对象属性修改后UI不渲染的问题有个比较简单又方便的处理方式思路仅供参考。 即深拷贝修改的item对象。 这样整个对象相当于都变化了就符合第一层对象检测的机制可以被系统捕获到刷新。 DEMO示例 import { util } from kit.ArkTS;/*** 二级数据结构*/ class ChildInfo {index: number;constructor(index: number) {this.index index;} }/*** 一级数据结构*/ class ItemInfo {key: string util.generateRandomUUID(true);name: string;icon: Resource;childInfo: ChildInfo;select: boolean;constructor(name: string, icon: Resource, index: number) {this.name name;this.icon icon;this.childInfo new ChildInfo(index);this.select false;}/*** 重新创建对象深拷贝处理* param itemInfo* param index* returns*/static deepCopy(itemInfo: ItemInfo, index: number){let info: ItemInfo new ItemInfo(itemInfo.name, itemInfo.icon, index);info.select itemInfo.select;info.key itemInfo.key;info.childInfo itemInfo.childInfo;return info;} }/****/ Entry Component struct ForeachPage {private TAG: string ForeachPage;State mListData: ArrayItemInfo [];aboutToAppear(): void {this.mListData.push(new ItemInfo(游戏, $r(app.media.iconA), 1));this.mListData.push(new ItemInfo(游戏, $r(app.media.iconB), 2));this.mListData.push(new ItemInfo(游戏, $r(app.media.iconA), 3));this.mListData.push(new ItemInfo(游戏, $r(app.media.iconB), 4));this.mListData.push(new ItemInfo(游戏, $r(app.media.iconA), 5));this.mListData.push(new ItemInfo(游戏, $r(app.media.iconB), 6));}Builder ItemView(item: ItemInfo, index: number){Row() {Image(item.icon).width(px2vp(120)).height(px2vp(120))Text(item.name ( item.childInfo.index )).fontSize(20)Blank()if(this.isLog(item, index)){if(item.select){Image($r(app.media.icon_check)).size({width: px2vp(72),height: px2vp(72)})}}}.width(100%).justifyContent(FlexAlign.Start).onClick((){item.select !item.select;if(item.select){item.childInfo.index 666;}else{item.childInfo.index index;}this.mListData[index] ItemInfo.deepCopy(item, item.childInfo.index);console.log(this.TAG, ItemView onClick: index item.select: item.select);})}private isLog(item: ItemInfo, index: number){console.log(this.TAG, ItemView isLog index: index item.select: item.select);return true;}build() {List() {ForEach(this.mListData, (item: ItemInfo, index: number) {ListItem() {this.ItemView(item, index)}}, (item: ItemInfo) JSON.stringify(item))//}.width(100%).height(100%).padding({ left: px2vp(60), right: px2vp(60) })} }
http://www.hkea.cn/news/14324395/

相关文章:

  • 桂林北站附近住宿黄骅港股票代码
  • 模板创作师北京百度网站排名优化
  • 坪山网站建设基本流程怎样免费做游戏代理
  • 微建站官网制作网站费怎么做会计科目
  • 做哪个软件网站app沧州微酷网络科技有限公司
  • 外卖网站建设价钱永久一级传奇网站
  • 铁总建设函网站百度ip地址
  • 超全的开源建站系统大全php 公司网站源码
  • 巢湖网站建设电话如何做推广和引流
  • wap网站模板优化推广网站
  • 网站建网站建设设网站主机哪买
  • 免费软件制作网站模板下载软件有什么网站学做标书的
  • 惠州网站制作网站南阳手机网站建设
  • 网站地图制作软件手机网站大全123456
  • 商城网站模板图公司网站开发招标书
  • 推广网站有哪些wordpress 顶部图像
  • 网站建站及维护南宁工作室注册
  • 做直播网站需要哪些技术移动端减肥网站模板
  • 电商网站创办过程小白怎么学室内设计
  • 江门网站制作网站建设招聘网站需要哪些资质
  • 80s无水印视频素材网站下载浙江省两学一做网站
  • 中国购物网站排名做网站赚钱流量
  • 北京网站开发最专业的公司直播营销策略有哪些
  • 建个微商城网站多少钱网站主机服务器
  • 个人网站的域名网站后台管理水印怎么做
  • 深圳市建网站公司网页浏览器怎么设置
  • 列表网做优化网站怎么样千万pv网站开发成本
  • 石家庄无极网站建设快递公司网站怎么做
  • 深圳网站开发制作ui图标素材网站
  • 平面设计公司名字大全成都网站优化