前言

在前面,咱们现已完结了Home、Mine、Calendar三个模块了

现在咱们持续往下Data模块Add模块

这次咱们要完结整个项目啦~

咱们加油!

Data

老样子,新建一个Data.ets,然后再TabBar中引证

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

DataPane模块

我现在想搞一个冰箱容量的模块

那么我能够用一下自带的DataPanel组件

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

可是这个组件比较蛋疼,只能说还不完善吧,功用较少

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

作用

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

可是我现在并不知道每个模块都是什么东西,光有个占比,所以我自己加了一个文本,并加上了一个背景色,用来区别

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这是现在的作用,需求说的是,颜色如同也不能更改,我还是自己吸的色,哈哈哈哈有点搞笑在里边

东西太多了,我给抽出去了,咱们到这儿应该懂我的意思了

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

现在除了这个Arc自带的这个组件,我还找到了一个openharmony第三方的库,叫做ohos-MPChart

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

它有点类似于echarts,能够完结一些更多的可视化作用,可是文档太难过了

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

是满是代码的形式,看惯了组件库的文档的我,表明很难过,并且在使用的时分API还呈现了一些问题,所以先放置了,待我研究一下这儿计划单门再出文章

可是由此我看到现在现已有一些第三方库,所以我想去自建库,也便是文档的这儿

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

可是我第一步就卡住了

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这个库的模板在哪啊?现在也没有找到,请教。。

并不是想造轮子,是底子没有啥轮子,要不也得封装,不如做个库了

可是还不知道咋建立,所以现在只能单建项目,把封装的组件记录一下了

这儿有懂建库的能够评论一下

ohpm踩坑

当我最开始用ohpm的时分是失利的,假如有人遇到了能够看我下面的解决方案

假如你想经过ohpm来下载依靠发现失利的时分

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这个时分你先检查一下,你的装备是不是出问题了

假如不会装备的话

官网文档这儿教了,挺全面的:developer.harmonyos.com/cn/docs/doc…

正常完事是这样的

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

假如你在引入库呈现这个报错的话

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

那么你能够在setting中将下面这项关掉

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

List

好的,咱们持续

我现在想里边的内容更加细分,比如,我想知道我现在的食物里边都有什么,所以我计划再搞一个List

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

老朋友了,咱们先做成现在的作用

好的,咱们现在加点内容

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这是我想要的作用,所以我把这一块封装成一个DataItem组件

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

然后里边的值需求父组件进行传递

所以我新建了一个ItemData寄存数据

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这儿懒得起名字了,所以草率了点

然后在Data.ets中进行遍历

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

作用

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

然后这儿我期望我的这个List是横向的

那么咱们需求改变排列方向

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

所以现在能够得到作用

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

Add

最后一个模块了,现在咱们别的当地都完结了,就差一个加入产品

首要新建Add.ets然后再TabBar中进行替换

我的设想是这样的,理论上能够扫描二维码或许条形码,快速加入产品,可是此部分内容较为复杂,能够经过OpenHarmony的三方库 @ohos/zxing,它是一个解析/生成一维码/二维码的库

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

地址:OpenHarmony-TPC/zxing (gitee.com)

这儿只是提供款式和布局,后面有时刻了我再加上功用

除了扫码,咱们还能够经过输入框输入信息来增加产品

那咱们开始吧~

扫描条形码的部分我封装成一个Scan组件

然后我用Stack布局简略书写一下我想要的款式

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

看看作用

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

好的,开始剩下的部分,剩下的部分类似于一个表单

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

所以这儿简略封装一下,我叫做ProductForm

咱们简略写一下,现在是这样的

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

发现有许多的重复款式,所以这儿咱们能够用款式装修器@Extend

首要,把Text的封装了

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

然后是输入框

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

然后有两个输入框是输入日期的,这儿咱们不想手写输入,而是需求经过日期选择器进行输入

那咱们第一时刻应该想到DatePickerDialog

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

那咱们就去写一下

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

看看作用

好的,作用没问题,现在咱们这儿依照之前Mine的思路进行父子间的传值即可,咱们改善一下ProductForm

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这样就能够获取到值了

咱们看看作用吧

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

这儿的时刻咱们能够经过Date获取当时的日期,比较简略,我就给咱们提供个思路

最后咱们再加一个按钮即可

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

作用

实战篇:带着咱们用鸿蒙HarmonyOS做项目(三:初版项目完结,总结,对鸿蒙进行一些吐槽)

结尾

项目的初版算是完结了,期望咱们不要去深挖一些业务逻辑上的漏洞,因为这个项目主要是为了协助咱们学习,复习一些ArcTS的语法,以及一些组件的使用

当然,现在我自己也是很不满意的,所以我鄙人一节会对整个项目进行优化和改造(可是全体页面作用不会变太多,大多是细节和逻辑上的优化)

全体大概是四节,跟我意料的差不多,写这种实战教育真的耗时耗精力,期望咱们多支撑

期望这套专栏对咱们有所协助吧~那么这一切都是值得的

有什么问题或许交流的话能够加V:Js_perplexed09

感谢咱们的支撑~

后面出什么内容咱们能够建议一下

吐槽

ArcUI确实处在一个较为开始的阶段,组件功用不够完善,有一些组件还没有,许多都需求自己封装,不知道Arc组件库啥时分出

IDE有bug,有时分会生成js文件

官方文档待完善,有的当地书写的不对(不知道是不是没更新)

不知道咱们有没有同样的感触:文档找东西费力(我感觉是规划问题),我现在多少算是熟读文档了,可是有的时分我想找点找过的东西,这个费力

第三方库太少了,自己想封装还不知道为啥库的模板没有了

一些小的坑属于不记得了,可能也算是无伤大雅吧。。

另外,能不能页面调试方便一点,类似于微信开发者东西那样也行(虽然体验感也挺差的)

可是最后,我想说的是,我是等待国内的技术蓬勃开展的,我也很等待鸿蒙能够很好地开展,在ArcTS遍及的初期,难免问题会多一些,可是期望官方能尽快地完善

期间华为打过几回电话寻求开发者反应,我反应了不少,可是并不知道结果如何

期望能做的更好吧~