HarmonyOS 鸿蒙Next 动态修改style="background-color"发现错误
HarmonyOS 鸿蒙Next 动态修改style="background-color"发现错误 代码:
静态正常
动态不正常:
黄色显示黑色,橙色也显示黑色,测试红色和绿色没问题,其他颜色未做测试,看看是否是有问题
更多关于HarmonyOS 鸿蒙Next 动态修改style="background-color"发现错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 动态修改style="background-color"发现错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
顺带附上鸿蒙支持的颜色枚举a
我的评价是,我怀疑你hml对应的值没有套{{}},你的那段应该是style=“background-color:{{color1}}”
前面还能版主推荐说明版主自己可能也不太清楚类web里面的打包机制。不过也不意外,毕竟搞鸿蒙的十个里面有8个会是用ARKTs,一个用JS,还有一个用JAVA。
对于类web而言,鸿蒙的sdk会去识别style以及CSS里的颜色相关代码,然后根据内置的颜色表将其转换成一串数字,这串数字是对应颜色的十六进制值在转成十进制值得结果。
实际上,当你故意写错代码然后触发打包失败时,你会看到SDK将你的HML,JS,CSS代码转换成鸿蒙所想要的JS,在这个过程中,如果你使用了单词作为颜色的值,他会提示他帮你将这些单词转换成了对应的十进制值了。
题外话:你应该是上个问timer的那个,箭头函数和外部记录指向两个方法虽然可以共用,但是对于你的情形,只要挑选其中一个就行了。
试一下用Color.Green
这样,
针对帖子标题“HarmonyOS 鸿蒙Next 动态修改style='background-color’发现错误”的问题,以下提供可能的解决方案:
在HarmonyOS鸿蒙Next系统中,若你遇到动态修改页面元素背景颜色(如通过JavaScript修改style="background-color"
)时发生错误,这可能与鸿蒙系统的WebView组件或页面渲染机制有关。
首先,请确保你使用的WebView组件已正确初始化并加载了目标网页。检查WebView组件的配置,确保其支持JavaScript执行。
其次,验证你的JavaScript代码在普通浏览器环境下是否能正常运行。如果普通浏览器无异常,而在鸿蒙WebView中出错,可能是WebView的兼容性问题。尝试更新WebView组件至最新版本,或查阅鸿蒙开发者文档了解是否有相关的兼容性说明。
此外,检查你的代码是否有语法错误或逻辑错误,特别是在动态修改样式时,确保选择器正确无误,且新颜色值格式符合CSS规范。
如果问题依旧存在,可能涉及到底层渲染引擎的特定行为或限制。此时,建议详细记录错误信息,并查阅鸿蒙官方论坛或社区,看是否有其他开发者遇到并解决了类似问题。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,