HarmonyOS 鸿蒙Next web跟list组合滑动问题

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next web跟list组合滑动问题

web跟list组合使用,从web以外部分滑动到web时,web内容没有惯性滑动,需要二次手动滑.
请问如何继承该滑动惯性

参考了以下文档并不能解决
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-18-V5 

2 回复
这个问题需要将Web布局模式设置为自适应网页布局(WebLayoutMode.FIT_CONTENT) 注:如果网页内容宽或长度超过8000px,请在Web组件创建的时候指定RenderMode.SYNC_RENDER模式,否则会整个白屏 该示例可以参考以下代码:
Web({
src: this.url,
controller: this.webviewController,
renderMode:1
}).nestedScroll({
scrollForward: NestedScrollMode.SELF_FIRST,
scrollBackward: NestedScrollMode.PARENT_FIRST
})
.layoutMode(WebLayoutMode.FIT_CONTENT)

针对HarmonyOS鸿蒙Next中web与list组合滑动的问题,这里提供一种解决方案:

在List组件中嵌套Web组件时,由于Web组件可能会获取焦点,导致List组件无法上下滑动。为了解决这个问题,你可以在外层的List组件上添加hitTestBehavior(HitTestMode.Block)属性,该属性可以屏蔽内层Web组件的触摸控制,使得滑动事件能够传递给外层的List组件。

如果希望仅拦截Web组件的滑动事件而不拦截其点击事件,可以通过设置Web组件的嵌套滑动模式来实现。具体来说,可以将Web组件的nestedScroll属性设置为scrollForward: NestedScrollMode.PARENT_FIRSTscrollBackward: NestedScrollMode.PARENT_FIRST,这样父组件(即List组件)会先滚动,当滚动到底部后再进行Web组件自身的滑动。

请注意,上述解决方案适用于HarmonyOS API 11及以上版本。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部