diff --git a/frameworks/core/components_ng/pattern/refresh/refresh_model_static.cpp b/frameworks/core/components_ng/pattern/refresh/refresh_model_static.cpp index 91cfa516405b82e2a5b9400a0cf24220ddb3b299..79e5b3dfba3c6f37eb9bbc9355a98e06359e5696 100644 --- a/frameworks/core/components_ng/pattern/refresh/refresh_model_static.cpp +++ b/frameworks/core/components_ng/pattern/refresh/refresh_model_static.cpp @@ -23,8 +23,16 @@ namespace OHOS::Ace::NG { RefPtr RefreshModelStatic::CreateFrameNode(int32_t nodeId) { ACE_LAYOUT_SCOPED_TRACE("Create[%s][self:%d]", V2::REFRESH_ETS_TAG, nodeId); - return FrameNode::GetOrCreateFrameNode( + auto frameNode = FrameNode::GetOrCreateFrameNode( V2::REFRESH_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); + CHECK_NULL_RETURN(frameNode, frameNode); + auto pattern = frameNode->GetPattern(); + CHECK_NULL_RETURN(pattern, frameNode); + pattern->UpdateNestedModeForChildren(NestedScrollOptions({ + .forward = NestedScrollMode::PARENT_FIRST, + .backward = NestedScrollMode::SELF_FIRST, + })); + return frameNode; } void RefreshModelStatic::SetRefreshing(FrameNode* frameNode, const std::optional& isRefreshing)