#打卡不停更#【木棉花】:基于ArkUI的运动记录Demo 原创
前言
在参加了"HarmonyOS ArkUI入门训练营——健康生活实战"后,了解并学习了声明式UI开发框架及组件用法,本文是对笔者结营作品中作一个小分享。在笔者上篇及前篇文章中,已对本demo作了部分组件的介绍,本文将对剩余部分作介绍分享~
概述
本文主要介绍的是搜索栏跳转至搜索结果界面,以及前述文章介绍的组件的应用。效果图如下:
正文
一、工程文件架构
二、完善主界面及数据的传递
1、数据传递实现运动记录的增删改查
由于运动记录的增删改查是在弹窗组件的点击事件里相应的,起初我是打算使用@Link来传递数据的,但是在自定义弹窗组件的builder里会对$修饰的变量报错,于是我就改用全局变量了。为了响应变量的状态变化,用@State装饰。也许用数据库会更方便些,后期再作优化吧~
Record 弹窗下定义变量
在上上篇文章提到的弹窗组件中,定义点击事件。“修改记录”模式下,“删除记录”按键的“确定”响应代码如下:
主弹窗右上角的“确定”按键响应代码如下:
2、完善主页面
主页面底部是有两个页签的导航栏,第一个页签显示目录界面,该界面的顶部有一个搜索栏,与下方的目录成纵向布局,第二个页签显示记录界面。记录界面的组件与上篇文章提到的List组件用法无异,只是渲染的数据不同罢了,代码相似所以本文就不介绍了。此外对于记录界面,若无记录则显示“暂无记录”,为了让界面美观些,笔者给背景添加了图片。点击“搜索”按键时会带参跳转至搜索结果的页面’pages/search_result’,代码如下:
三、搜索结果界面
1、接收页面路由的传参,并初始化工程内的运动项数据,便于遍历查找。
由于有的运动项目名称相同,但配速不同,因此在设置字符串匹配判断时取字符串的子串来匹配。
将SportsCategoryList中的SportsGrid组件用export修饰,就能在搜索结果界面使用了,将搜索的结果用数组存放,接着传参进SportsGrid进行列表渲染。
结语
以上就是本次的小分享啦!❀❀
各个文件讲解用不同的颜色标出很赞
👍感谢支持