初探Harmony OS开发之旅:从待办列表到循环机制的摸索与实践 原创

醉丶斛觞
发布于 2024-11-1 02:46
浏览
0收藏

产品示例

初探Harmony OS开发之旅:从待办列表到循环机制的摸索与实践-鸿蒙开发者社区

概要

第一次尝试用 Harmony OS 开发应用,选择待办列表切入,算是给自己开了个技术新篇章。从代码列表里看到@State双向管理的效果,真是挺神奇的。数据一变动,界面立马跟着更新,这种即时的反馈,让我这个编程老鸟也有点儿小激动。再加上那个ListItem组件,让待办事项看起来整齐划一,用户体验直线上升。

说实话,作为一款国产化的语言,Harmony OS的表现还是挺让我惊喜的。虽然我只是个新手,但已经能感受到它在细节上的用心。这List() To ListItem() 组件用起来简单方便,让我的待办列表瞬间颜值爆表,有种“国产骄傲”的感觉。
当然了,我这第一次尝试,也就是摸到了点皮毛。循环机制这种高级货,我目前还一窍不通。不过,谁让咱是技术人呢,对新知识的好奇心总是满满的。等我把这个待办列表项目完结,后面就是攻克循环机制了。毕竟,编程这事儿,学无止境,总得不断给自己找点挑战不是?

回过头来看,这次的开发经历,还是挺有收获的。从刚开始的摸索,到后来的渐入佳境,每一步都是自己一步步踩出来的。虽然过程中遇到了不少小问题,但解决起来也挺有成就感的。这就是编程的魅力吧,总是在解决问题的过程中,让人感受到成长的快乐。

嗯,这次就先聊到这儿吧。待办列表这个小项目,算是给我和Harmony OS的初次邂逅画上了一个圆满的句号。接下来,我得准备迎接新的挑战了。循环机制,你等着,我马上就来征服你!
说到底,技术这东西,就是一个不断学习、不断进步的过程。Harmony OS作为国产化的代表,给了我不少信心。我相信,在不久的将来,我们国家的技术会越来越强大,而我们这些技术人,也会在这个过程中,不断成长,成为推动社会进步的重要力量。

最后,给自己加个油,也给所有正在学习Harmony OS的朋友们加个油。咱们一起努力,共同探索这个充满无限可能的技术世界。别忘了,每一次尝试,都是向未来迈出的一步。咱们,可都是时代的弄潮儿啊!哈哈,不说了,继续搬砖去了!

代码示例

初始化数据结构

  @State isSelect: boolean[] = [true, false, false, false]
  @State listTitle: string[] = ["早市吃胡辣汤", "中午素菜沙拉", "傍晚烧烤摊", "夜宵麻辣烫",]

UI代码

Column({ space: 10 }) {
      Column() {
        Text('待办清单')
        Text(this.isSelect.filter(n =>!n).length + '条待办')
          .fontSize(12)
          .fontColor(Color.Gray)
      }
      .width('100%')
      .alignItems(HorizontalAlign.Start)

      // 待办事项
      List({ space: 10 }) {
        if (!this.isSelect[0]) {
          ListItem() {
            Row() {
              Checkbox().select(this.isSelect[0])
              Text(this.listTitle[0])
            }
            .width('100%')
          }
          .onClick(() => {
            this.isSelect[0] = !this.isSelect[0]
          })
          .padding(10)
          .backgroundColor('#ffd0f2ff')
          .borderRadius(10)
        }
        if (!this.isSelect[1])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[1])
            Text(this.listTitle[1])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[1] = !this.isSelect[1]
        })
        .backgroundColor('#ffcde281')
        .padding(10)
        .borderRadius(10)

        if (!this.isSelect[2])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[2])
            Text(this.listTitle[2])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[2] = !this.isSelect[2]
        })
        .backgroundColor('#fff1b594')
        .padding(10)
        .borderRadius(10)

        if (!this.isSelect[3])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[3])
            Text(this.listTitle[3])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[3] = !this.isSelect[3]
        })
        .backgroundColor('#ff8ad0ff')
        .padding(10)
        .borderRadius(10)
      }

      Row()
        .width('100%')
        .height(1)
        .borderWidth(0.25)
        .margin(10)

      Column() {
        Text('已办清单')
        Text(this.isSelect.filter(n => n).length + '条已办')
          .fontSize(12)
          .fontColor(Color.Gray)
      }
      .width('100%')
      .alignItems(HorizontalAlign.Start)

      // 已办事项
      List({ space: 10 }) {
        if (this.isSelect[0]) {
          ListItem() {
            Row() {
              Checkbox().select(this.isSelect[0])
              Text(this.listTitle[0])
            }
            .width('100%')
          }
          .onClick(() => {
            this.isSelect[0] = !this.isSelect[0]
          })
          .padding(10)
          .backgroundColor(Color.Gray)
          .borderRadius(10)
        }
        if (this.isSelect[1])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[1])
            Text(this.listTitle[1])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[1] = !this.isSelect[1]
        })
        .backgroundColor(Color.Gray)
        .padding(10)
        .borderRadius(10)

        if (this.isSelect[2])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[2])
            Text(this.listTitle[2])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[2] = !this.isSelect[2]
        })
        .backgroundColor(Color.Gray)
        .padding(10)
        .borderRadius(10)

        if (this.isSelect[3])
        ListItem() {
          Row() {
            Checkbox().select(this.isSelect[3])
            Text(this.listTitle[3])
          }
          .width('100%')
        }
        .onClick(() => {
          this.isSelect[3] = !this.isSelect[3]
        })
        .backgroundColor(Color.Gray)
        .padding(10)
        .borderRadius(10)
      }
    }
    .height('100%')
    .width('100%')
    .padding(10)

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2024-11-7 17:08:23修改
收藏
回复
举报
回复
    相关推荐