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 f416ac09d3de43027dbec14c1285192d3a0d5e2e..aa688d0b144c1699aefc1ad896ee1febcd7bfb96 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)