HarmonyOS 鸿蒙Next array数据处理
HarmonyOS 鸿蒙Next array数据处理 再原有数据源的基础上,新增展开/收起; 点击展开,数据源最后一项新增(收起) 点击收起,数据源最后一项新增(展开)
按照下面写法,每次都会新增一条数据。这个需要怎么处理?
代码:
@Entry
@Component
struct Index {
@State arr: Array<string> = ['1', '2', '3', '4', '5'];
@State isShowAll: boolean = false
build() {
Column() {
ForEach(this.makeMenuList(this.arr), (item: string) => {
Text(item).height(44)
Divider()
})
Divider().strokeWidth(20).color(Color.White)
Button(this.isShowAll ? '展开' : '收起')
.onClick(() => {
this.isShowAll = !this.isShowAll
if (this.isShowAll) {
let temArr = this.arr
temArr.push('展开')
this
}
})
}
.height('100%')
.width('100%')
}
makeMenuList(arr: Array<string>): Array<string>{
if (this.isShowAll) {
arr.push('收起')
} else {
arr.push('展开')
}
return arr
}
}
更多关于HarmonyOS 鸿蒙Next array数据处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以参考这个demo
@Entry
@Component
struct SearchPage {
@State isShow:boolean = false
@State ht:number = 220
@State textHt:number = 20
@State arr: Array<string> = ['1', '2', '3', '4', '5'];
@State isShowAll: boolean = false
build() {
Column(){
Column(){
ForEach((this.arr), (item: string) => {
Text(item).height(44)
Divider()
})
}
.height(this.ht)
.width('100%')
.animation({
duration: 300,
curve: Curve.Linear
})
.margin({top:20})
.backgroundColor('#e800f7ff')
.alignItems(HorizontalAlign.Start)
Button(this.isShowAll ? '展开' : '收起').onClick(() =>{
this.isShowAll = !this.isShowAll
this.ht = this.ht == 0 ? 220: 0
this.textHt = this.textHt == 0 ? 20: 0
})
}
}
}
更多关于HarmonyOS 鸿蒙Next array数据处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
@Entry
@Component
struct Index {
@State arr: Array<string> = ['1', '2', '3', '4', '5'];
@State isShowAll: boolean = false
build() {
Column() {
ForEach(this.arr, (item: string,index:number) => {
Text(item).height(44).visibility(index!=0 && this.isShowAll? Visibility.Hidden:Visibility.Visible)
Divider().visibility(index!=0 && this.isShowAll? Visibility.Hidden:Visibility.Visible)
})
Divider().strokeWidth(20).color(Color.White)
Button(this.isShowAll ? '展开' : '收起')
.onClick(() => {
this.isShowAll = !this.isShowAll
})
}
.height('100%')
.width('100%')
}
makeMenuList(arr:Array<string>):Array<string>{
if (this.isShowAll) {
arr.push('收起')
} else {
arr.push('展开')
}
return arr
}
}
针对“HarmonyOS 鸿蒙Next array数据处理”的问题,以下是在鸿蒙系统中处理数组数据的一些基本方法和概念,不涉及Java或C语言相关内容。
在鸿蒙系统中,数组是一种常见的数据结构,用于存储相同类型的元素集合。处理数组数据通常包括数组的声明、初始化、访问、遍历和修改等操作。
-
声明数组:在鸿蒙系统中,可以使用特定的语法来声明数组,指定数组的类型和大小(如果大小是已知的)。
-
初始化数组:可以在声明数组的同时对其进行初始化,为数组的每个元素分配一个初始值。
-
访问数组元素:通过数组的索引来访问特定的元素。索引通常从0开始。
-
遍历数组:可以使用循环结构(如for循环)来遍历数组的每个元素,对它们进行读取或修改操作。
-
修改数组元素:通过索引来定位并修改数组中的特定元素。
鸿蒙系统可能提供了特定的API或库函数来简化数组的处理,但这些通常基于上述基本概念。开发者应查阅鸿蒙系统的官方文档,了解如何在其开发环境中高效地处理数组数据。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,