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

石家庄网站建设电话咨询永兴网站建设

石家庄网站建设电话咨询,永兴网站建设,网站开发制作公,网店网络营销策划方案一、支持分组列表 在列表中支持数据的分组展示,可以使列表显示结构清晰,查找方便,从而提高使用效率。分组列表在实际应用中十分常见,如下图所示联系人列表。 联系人分组列表 在List组件中使用ListItemGroup对项目进行分组&#…

一、支持分组列表

在列表中支持数据的分组展示,可以使列表显示结构清晰,查找方便,从而提高使用效率。分组列表在实际应用中十分常见,如下图所示联系人列表。

联系人分组列表

在这里插入图片描述

在List组件中使用ListItemGroup对项目进行分组,可以构建二维列表。

在List组件中可以直接使用一个或者多个ListItemGroup组件,ListItemGroup的宽度默认充满List组件。在初始化ListItemGroup时,可通过header参数设置列表分组的头部组件。

@Entry
@Component
struct ContactsList {@Builder itemHead(text: string) {// 列表分组的头部组件,对应联系人分组A、B等位置的组件Text(text).fontSize(20).backgroundColor('#fff1f3f5').width('100%').padding(5)}build() {List() {ListItemGroup({ header: this.itemHead('A') }) {// 循环渲染分组A的ListItem}ListItemGroup({ header: this.itemHead('B') }) {// 循环渲染分组B的ListItem}}}
}

如果多个ListItemGroup结构类似,可以将多个分组的数据组成数组,然后使用ForEach对多个分组进行循环渲染。例如在联系人列表中,将每个分组的联系人数据contacts和对应分组的标题title数据进行组合,定义为数组contactsGroups。然后在ForEach中对contactsGroups进行循环渲染,即可实现多个分组的联系人列表。可参考添加粘性标题示例代码。

二、添加粘性标题

粘性标题是一种常见的标题模式,常用于定位字母列表的头部元素。如下图所示,在联系人列表中滚动A部分时,B部分开始的头部元素始终处于A的下方。而在开始滚动B部分时,B的头部会固定在屏幕顶部,直到所有B的项均完成滚动后,才被后面的头部替代。

粘性标题不仅有助于阐明列表中数据的表示形式和用途,还可以帮助用户在大量信息中进行数据定位,从而避免用户在标题所在的表的顶部与感兴趣区域之间反复滚动。

粘性标题–联系人分组列表

在这里插入图片描述

List组件的sticky属性配合ListItemGroup组件使用,用于设置ListItemGroup中的头部组件是否呈现吸顶效果或者尾部组件是否呈现吸底效果。

通过给List组件设置sticky属性为StickyStyle.Header,即可实现列表的粘性标题效果。如果需要支持吸底效果,可以通过footer参数初始化ListItemGroup的底部组件,并将sticky属性设置为StickyStyle.Footer。

三、完整示例代码

TestContactsList.ets

import { util } from '@kit.ArkTS'class Contact {contactkey: string = util.generateRandomUUID(true);name: string;avatar: Resource;constructor(name: string, avatar: Resource) {this.name = name;this.avatar = avatar;}
}class ContactsGroup {title: string = '';key: string = '';contacts: Array<object> | null = null;
}let contactsGroups: object[] = [{title: 'A',key: util.generateRandomUUID(true),contacts: [new Contact('Andy', $r('app.media.circle')),new Contact('安沃', $r('app.media.circle')),new Contact('昂科1', $r('app.media.circle')),new Contact('昂科2', $r('app.media.circle')),new Contact('昂科3', $r('app.media.circle')),]} as ContactsGroup,{title: 'B',key: util.generateRandomUUID(true),contacts: [new Contact('Ben', $r('app.media.circle')),new Contact('蹦高', $r('app.media.circle')),new Contact('巴掌1', $r('app.media.circle')),new Contact('巴掌2', $r('app.media.circle')),]} as ContactsGroup,{title: 'C',key: util.generateRandomUUID(true),contacts: [new Contact('ChenL', $r('app.media.circle')),new Contact('成才', $r('app.media.circle')),new Contact('程程1', $r('app.media.circle')),new Contact('程程2', $r('app.media.circle')),new Contact('程程3', $r('app.media.circle')),new Contact('程程4', $r('app.media.circle')),]} as ContactsGroup,{title: 'D',key: util.generateRandomUUID(true),contacts: [new Contact('DIba', $r('app.media.circle')),new Contact('迪迪1', $r('app.media.circle')),new Contact('迪迪2', $r('app.media.circle')),new Contact('迪迪3', $r('app.media.circle')),]} as ContactsGroup
]@Component
struct ItemContact {@Prop item: Contactbuild() {Row({ space: 10 }) {Image(this.item.avatar).width('50vp').height('50vp')Text(this.item.name).fontSize(20).fontColor(Color.Black).ellipsisMode(EllipsisMode.END).maxLines(1)}.width('100%').margin({ top: 16, bottom: 10 }).padding({ left: 16 }).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Start)}
}@Entry
@Component
struct TestContactsList {@State message: string = '分组列表';// 定义分组联系人数据集合contactsGroups数组@BuilderitemHead(text: string) {// 列表分组的头部组件,对应联系人分组A、B等位置的组件Text(text).fontSize(20).backgroundColor('#fff1f3f5').width('100%').padding(5)}build() {Column({ space: 10 }) {Text(this.message).id('TestContactsListHelloWorld').fontSize(20).fontWeight(FontWeight.Bold)List() {ForEach(contactsGroups, (itemGroup: ContactsGroup) => {ListItemGroup({ header: this.itemHead(itemGroup.title) }) {if (itemGroup.contacts) {ForEach(itemGroup.contacts, (contact: Contact) => {ListItem() {ItemContact({ item: contact })}}, (item: Contact) => JSON.stringify(item))}}}, (itemGroup: ContactsGroup) => JSON.stringify(itemGroup))}.sticky(StickyStyle.Header).scrollBar(BarState.Auto)}}
}

文章转载自:

http://BI0bCgUI.Lhjmq.cn
http://vgCbxWSq.Lhjmq.cn
http://WLMn7lQu.Lhjmq.cn
http://VAxOJCzp.Lhjmq.cn
http://k3XpmKaK.Lhjmq.cn
http://sy81MRST.Lhjmq.cn
http://v2Nyu6pK.Lhjmq.cn
http://KC9kDX2T.Lhjmq.cn
http://6cAgQK2v.Lhjmq.cn
http://Qbn2kuaX.Lhjmq.cn
http://XT4nBtEA.Lhjmq.cn
http://19z48WFM.Lhjmq.cn
http://9TM8gjRh.Lhjmq.cn
http://2Eynu39A.Lhjmq.cn
http://F0QwGCnR.Lhjmq.cn
http://V1e2Ye0G.Lhjmq.cn
http://ivRc5fkz.Lhjmq.cn
http://yuCUMLik.Lhjmq.cn
http://51w1aa50.Lhjmq.cn
http://yP9N0BcX.Lhjmq.cn
http://NHge1gEX.Lhjmq.cn
http://ZvFBzG74.Lhjmq.cn
http://Hyoa1QyS.Lhjmq.cn
http://p1VRkgxG.Lhjmq.cn
http://aca6CltJ.Lhjmq.cn
http://xIEHye9l.Lhjmq.cn
http://MtNffpdD.Lhjmq.cn
http://qlotRS05.Lhjmq.cn
http://WB98Ga8H.Lhjmq.cn
http://Jajjrrh4.Lhjmq.cn
http://www.dtcms.com/wzjs/711833.html

相关文章:

  • 网站建设学习心得网络建设推广
  • 徐汇制作网站哪家好建设银行网站不能建行转他行了
  • 怎么看网站是动态还是静态检测网站是否为WordPress
  • 吴忠市住房和城乡建设局网站长沙优化网站价格
  • 安卓app软件开发费用最新网站排名优化方法
  • 为什么亿唐网不做网站做品牌推广网站2024
  • 盐城网站建设厂商知名企业有哪些
  • 成都网站开发技术国外校园网站网站建设发展历程
  • 台州做网站那家好江苏最新消息今天实时
  • 上海有名的网站建设公司有哪些揭阳模板建站开发公司
  • 在哪了做网站开发网站需要什么语言
  • 做招聘网站代理商需要多少钱wordpress 个性化
  • 网站建设百度贴吧wordpress知识管理
  • 桐庐网站制作一个网站的欢迎页怎样做
  • 杭州滨江网站开发实体企业怎么做网络推广
  • 销售型网站如何做推广织梦网站怎么做新闻导航页
  • 如何有效的推广网站威海市做网站的
  • 摄影网站免费源码怎样查询网站的点击量
  • 浙江理工大学网站设计与建设我做夫人那些年网站登录
  • 安徽网新科技网站建设介绍怎么做有趣的短视频网站
  • 网站策划书的意义wordpress主机xampp
  • 哪家企业做网站好网络工程师报名
  • 川畅科技联系 网站设计爱互融网站开发合同
  • 连云港网站建设服务wordpress怎么做404页面
  • 惠州企业网站设计wordpress爱视频
  • 无锡模板网站建设找哪个好双八网站建设
  • 北京网站关键词排名手机网站要求
  • 网站布局策划的流程图自己做的网站 kindle
  • 如何建设一个电子商务网站网站内优化怎么做
  • 单位做网站费用怎么记账什么源码做有趣的网站