【每日学点 HarmonyOS Next 知识】Web 交互、列表拖拽、横屏后布局、Event 序列问题、Scroll 与 Web 组合

1、HarmonyOS 如何与 Web 页面进行交互(JS 的使用)?
可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkweb-1-V5
通过对 javaScriptProxy 和 runJavaScript 封装,实现 JSBridge 通信方案。使用 Web 组件 javaScriptProxy 将原生侧接口注入到 H5 的 window 对象上,通过 runJavaScript 接口执行 JS 脚本到 H5 中,并在回调中获取脚本执行结果。具体调用流程如下图所示:

2、HarmonyOS 如何实现 Listitem 的拖拽排序?
List 可以通过拖拽事件 onItemDragMove 和 onItemDrop 实现。
Demo 如下:
3、HarmonyOS 横屏后布局问题?
使用 window.setPreferredOrientation 设置强制横屏后,Navigation 宽度正常,但其中内容组件的宽度不对
可以使用 onPageShow onPageHide 来设置页面级别的横屏
或者在上一个界面跳转第二个界面的时候调用横屏,demo 以下
setPreferredOrientation 的使用请详细参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#setpreferredorientation9

4、HarmonyOS 这个 eventId 只能是 number 很容易重复?
自定义枚举类型常量
结合时间戳
为每个事件记录其发生的时间戳,并将事件 ID 和时间戳结合使用。这样可以通过时间戳来区分不同时间段内发生的事件,从而避免事件 ID 重复的问题。
使用自增 ID
为每个事件分配一个唯一的自增 ID,这样可以确保事件 ID 的唯一性。在存储事件信息时,使用自增 ID 代替原始的事件 ID。
使用数据库索引
在存储事件信息时,为事件 ID 创建索引,这样可以快速查询和过滤事件 ID。需要确保索引的正确性和效率。
5、HarmonyOS Scroll 嵌套 Web,Web 内容高度自适应,整体页面一起滚动?
可以使用.layoutMode(WebLayoutMode.FIT_CONTENT)自适应网页布局,如果网页内容宽或长度超过 8000px,请在 Web 组件创建的时候指定 RenderMode.SYNC_RENDER 模式。
版权声明: 本文为 InfoQ 作者【轻口味】的原创文章。
原文链接:【http://xie.infoq.cn/article/649d9ccb80ae818380c014a24】。文章转载请联系作者。
评论