【每日学点 HarmonyOS Next 知识】状态变量、动画 UI 残留、Tab 控件显示、ob 前缀问题、文字背景拉伸

1、HarmonyOS 怎么用一个变量观察其他很多个变量的变化?
有一个提交按钮的颜色,需要很多个值非空才变为红色,否则变为灰色,可不可以用一个变量统一观察这很多个值,去判断按钮该显示什么颜色,比如 Button().backgroundColor(this.color),this.color 的值取决于很多个输入框的值
想将子组件与父组件的变量绑定起来,实现其中一个变量改变,对应的变量也做同步的改变,可以做如下操作:将子组件的变量需要用 @Link 修饰,且不能初始化将父组件的变量需要用 @State 修饰。传值的时候使用 $符号修饰。
2、HarmonyOS 动画过程中 UI 残留?
等长没有异常。只有 3->2 出现 出现后点击屏幕任意点 刷新消失
参考以下示例通过 onChange 实现切换时自定义 tabBar 和 TabContent 的联动:
3、HarmonyOS Tabs 控件 底部显示不全?
Tabs 控件 底部显示不全 TabContent() 中的页面,底部显示不全
Scroll(this.scroller)的高度设百分比,和上面的相加为 100%即可,参考 DEMO:
4、HarmonyOS 被 @ObservedV2 和 @Trace 标记的类及字段,使用 JSON.stringify 之后字段名称都加上了“__ob_”
开头的字段?
使用 JSON.stringify 序列化之后字段名称都改变了,导致无法反序列化回来。
关于序列化后会有__ob_
前缀的问题,可以在序列前替换掉__ob_
前缀,demo 如下
5、HarmonyOS 文字背景局部拉伸问题?
backgroundImageResizable 设置无作用,Image 设置 resizable 是可以的
如何让同级控件宽度自适应文字宽度
获取文本长度的方式参考文档,让 backgroundImageSize 改为文字的宽度:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-measure-V5#ZH-CN_TOPIC_0000001884917586__measuremeasuretext
实现方式 demo:
版权声明: 本文为 InfoQ 作者【轻口味】的原创文章。
原文链接:【http://xie.infoq.cn/article/b2863388e8ed064e0217f96d1】。文章转载请联系作者。
评论